Simpact Cyan
Population based event driven simulation using mNRM
eventbirth.h
1 #ifndef EVENTBIRTH_H
2 
3 #define EVENTBIRTH_H
4 
5 #include "simpactevent.h"
6 
7 class EventBirth : public SimpactEvent
8 {
9 public:
10  EventBirth(Person *pMother);
11  ~EventBirth();
12 
13  std::string getDescription(double tNow) const;
14  void writeLogs(double tNow) const;
15  void fire(State *pState, double t);
16 
17  void setFather(Person *pFather);
18 
19  // If the father is alive, we include him in the list of 'other affected people'
20  void markOtherAffectedPeople(const Population &population);
21 
22  static void processConfig(ConfigSettings &config, GslRandomNumberGenerator *pRndGen);
23  static void obtainConfig(ConfigWriter &config);
24 private:
25  double getNewInternalTimeDifference(GslRandomNumberGenerator *pRndGen, const State *pState);
26 
27  Man *m_pFather;
28 
29  static double m_boyGirlRatio;
30  static ProbabilityDistribution *m_pPregDurationDist;
31 };
32 
33 #endif // EVENTBIRTH_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 provides functions for a population-based simulation using the modified Next Reaction Meth...
Definition: population.h:83
This class allows you to generate random numbers, and uses the GNU Scientific Library for this...
Definition: gslrandomnumbergenerator.h:16
Abstract base class for probability distribution implementations so that they can be used interchange...
Definition: probabilitydistribution.h:15