46 template<
class BehaviourPolicy,
class BeliefPolicy>
50 Person(
unsigned int id,
double age,
unsigned int household_id,
unsigned int school_id,
51 unsigned int work_id,
unsigned int primary_community_id,
unsigned int secondary_community_id,
52 unsigned int start_infectiousness,
53 unsigned int start_symptomatic,
unsigned int time_infectious,
unsigned int time_symptomatic,
54 double risk_averseness = 0,
bool is_on_vacation =
false)
61 m_health(start_infectiousness, start_symptomatic, time_infectious, time_symptomatic),
100 void update(
bool is_work_off,
bool is_school_off,
double fraction_infected);
109 template<
class PersonType>
friend bool isParticipatingInSurvey() const
Does this person participates in the social contact study?
unsigned int m_household_id
The household id.
unsigned int m_secondary_community_id
The secondary community id.
unsigned int m_work_id
The work cluster id.
double getAge() const
Get the age.
bool m_is_participant
Is participating in the social contact study.
bool m_at_household
Is person present at household today?
Time Dependent Person DataType.
bool m_at_primary_community
Is person present at primary_community today?
const Health & getHealth() const
Return person's health status.
Health m_health
Health info for this person.
void setOnVacation(bool is_on_vacation)
bool m_at_school
Is person present at school today?
bool isOnVacation() const
bool m_at_secondary_community
Is person present at secundary_community today?
unsigned int m_primary_community_id
The primary community id.
bool m_is_on_vacation
Is currently on a vacation and should be included in calculations.
Forward declaration of class Person.
const BeliefPolicy::Data & getBeliefData() const
Return person's belief status.
Health & getHealth()
Return person's health status.
unsigned int m_school_id
The school cluster id.
void participateInSurvey()
Participate in social contact study and log person details.
char getGender() const
Return person's gender.
unsigned int getId() const
Get the id.
unsigned int getClusterId(ClusterType cluster_type) const
Get cluster ID of cluster_type.
bool isInCluster(ClusterType c) const
Check if a person is present today in a given cluster.
ClusterType
Enumerates the cluster types.
bool operator!=(const Person &p) const
Is this person not equal to the given person?
Person(unsigned int id, double age, unsigned int household_id, unsigned int school_id, unsigned int work_id, unsigned int primary_community_id, unsigned int secondary_community_id, unsigned int start_infectiousness, unsigned int start_symptomatic, unsigned int time_infectious, unsigned int time_symptomatic, double risk_averseness=0, bool is_on_vacation=false)
Constructor: set the person data.
void update(bool is_work_off, bool is_school_off, double fraction_infected)
Update the health status and presence in clusters.
bool m_at_work
Is person present at work today?
BeliefPolicy::Data m_belief_data
Info w.r.t. this Person's health beliefs.