Simpact Cyan
Population based event driven simulation using mNRM
eventaidsstage.h
1 #ifndef EVENTAIDSSTAGE_H
2 
3 #define EVENTAIDSSTAGE_H
4 
5 #include "eventvariablefiretime.h"
6 
7 class EventAIDSStage : public SimpactEvent
8 {
9 public:
10  EventAIDSStage(Person *pPerson, bool final);
11  ~EventAIDSStage();
12 
13  std::string getDescription(double tNow) const;
14  void writeLogs(double tNow) const;
15  void fire(State *pState, double t);
16 
17  static void processConfig(ConfigSettings &config);
18  static void obtainConfig(ConfigWriter &config);
19 private:
20  double getNewInternalTimeDifference(GslRandomNumberGenerator *pRndGen, const State *pState);
21  double calculateInternalTimeInterval(const State *pState, double t0, double dt);
22  double solveForRealTimeInterval(const State *pState, double Tdiff, double t0);
23 
24  void checkFireTime(double t0);
25  double getNewStageTime(double currentTime) const;
26 
27  EventVariableFireTime_Helper m_eventHelper;
28  bool m_finalStage;
29 
30  static double m_relativeStartTime;
31  static double m_relativeFinalTime;
32 };
33 
34 #endif // EVENTAIDSSTAGE_H
This class both describes the simulation state and contains the core algorithm (as shown on the main ...
Definition: state.h:40
Helper class to read configuration settings, more advanced than ConfigReader.
Definition: configsettings.h:20
This class allows you to generate random numbers, and uses the GNU Scientific Library for this...
Definition: gslrandomnumbergenerator.h:16