Simpact Cyan
Population based event driven simulation using mNRM
eventhivseed.h
1 #ifndef EVENTHIVSEED_H
2 
3 #define EVENTHIVSEED_H
4 
5 #include "simpactevent.h"
6 
7 class ConfigSettings;
8 
9 class EventHIVSeed : public SimpactEvent
10 {
11 public:
12  EventHIVSeed();
13  ~EventHIVSeed();
14 
15  std::string getDescription(double tNow) const;
16  void writeLogs(double tNow) const;
17 
18  void fire(State *pState, double t);
19 
20  // This can be made more fine grained, but for now this should suffice
21  bool isEveryoneAffected() const { return true; }
22 
23  static void processConfig(ConfigSettings &config);
24  static void obtainConfig(ConfigWriter &config);
25  static double getSeedTime() { return m_seedTime; }
26 private:
27  double getNewInternalTimeDifference(GslRandomNumberGenerator *pRndGen, const State *pState);
28 
29  static double m_seedTime, m_seedFraction;
30  static bool m_seeded;
31 };
32 
33 #endif // EVENTHIVSEED_H
34 
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