45 void setAbortAlgorithm(
const std::string &reason)
const;
49 bool shouldAbortAlgorithm()
const {
return m_abort; }
50 std::string getAbortReason()
const;
55 mutable Mutex *m_pAbortMutex;
56 mutable std::string m_abortReason;
152 bool_t evolve(
double &tMax, int64_t &maxEvents,
double startTime = 0,
bool initEvents =
true);
190 #endif // ALGORITHM_H
Type to return true/false with error description.
Definition: booltype.h:25
This is a base class describing the simulation state of an mNRM algorithm.
Definition: algorithm.h:23
bool_t evolve(double &tMax, int64_t &maxEvents, double startTime=0, bool initEvents=true)
This advances the simulation state specified in the constructor using the core mNRM.
Definition: algorithm.cpp:62
virtual void onAboutToFire(EventBase *pEvt)
Called right before pEvt is fired.
Definition: algorithm.h:176
virtual void onFiredEvent(EventBase *pEvt)
Called after pEvt is fired.
Definition: algorithm.h:179
void setTime(double t)
Set the simulation time, which is normally only done by the Algorithm in use (but may be necessary wh...
Definition: algorithm.h:42
virtual void advanceEventTimes(EventBase *pScheduledEvent, double dt)
Advance the times of the necessary events to the time when dt has passed, ignoring pScheduledEvent si...
Definition: algorithm.cpp:181
virtual void onAlgorithmLoop(bool finished)
Called at the end of each algorithm loop, with finished set to true if the loop will be exited...
Definition: algorithm.h:183
Algorithm(State &state, GslRandomNumberGenerator &rng)
Constructor of the class, to which the simulation state must be specified as well as the random numbe...
Definition: algorithm.cpp:47
double getTime() const
Retrieve the current simulation time, which is stored by the Algorithm instance in use (note that unt...
Definition: algorithm.h:35
virtual bool_t getNextScheduledEvent(double &dt, EventBase **ppEvt)
Store the next event to be fired in ppEvt and store the real world time that will have passed until i...
Definition: algorithm.cpp:176
This class allows you to generate random numbers, and uses the GNU Scientific Library for this...
Definition: gslrandomnumbergenerator.h:16
double getTime() const
This function returns the current time of the simulation.
Definition: algorithm.h:155
GslRandomNumberGenerator * getRandomNumberGenerator() const
Returns the random number generator that was specified in the constructor.
Definition: algorithm.h:158
This class contains the core algorithm (as shown on the main page of the documentation) to execute th...
Definition: algorithm.h:81
State * getState() const
Returns the simulation state instance that was specified in the constructor.
Definition: algorithm.h:161
This is the base class for events in the mNRM algorithm.
Definition: eventbase.h:55
virtual bool_t initEventTimes() const
Generate the internal times for the events present in the algorithm (called by State::evolve dependin...
Definition: algorithm.cpp:171