16 #ifndef HOUSEHOLD_HPP_
17 #define HOUSEHOLD_HPP_
20 #include "repast_hpc/SVDataSet.h"
21 #include "repast_hpc/SharedContext.h"
22 #include "repast_hpc/Random.h"
23 #include "repast_hpc/io.h"
24 #include "repast_hpc/logger.h"
25 #include "repast_hpc/initialize_random.h"
26 #include "repast_hpc/Utilities.h"
34 #include <boost/serialization/access.hpp>
36 #include <boost/lexical_cast.hpp>
37 #include <boost/mpi.hpp>
38 #include <boost/mpi/collectives.hpp>
59 template <
class Archive>
60 void serialize ( Archive & ar ,
const unsigned int version ) {
74 HouseholdPackage(
int aId,
int aInitProc,
int aAgentType,
int aCurProc,
int aIns, std::vector<repast::AgentId> aListInd,
75 std::string aType,
int aNChildren,
int aNAdults,
long aHouse);
135 Household( repast::AgentId
id,
int ins, std::vector<repast::AgentId> list_ind,
136 std::string type,
int n_children,
int n_adults );
148 Household( repast::AgentId
id,
int ins, std::vector<repast::AgentId> list_ind,
149 std::string type,
int n_children,
int n_adults,
long house );
262 const repast::AgentId &
getId ()
const {
270 std::vector<Individual * >
getIndividuals( repast::SharedContext<Individual> & agentsInd );
276 void computeHhType( repast::SharedContext<Individual> & agentsInd );
294 void addBaby( repast::AgentId aBabyId );
void setNChildren(int val)
Set the number of children.
Definition: Household.hpp:182
Individual agents related classes and methods declarations.
long house
household's housing unit node id
Definition: Household.hpp:86
const repast::AgentId & getId() const
Return the household repast agent id (required by Repast).
Definition: Household.hpp:262
repast::AgentId getId() const
Return household's agent id.
Definition: Household.hpp:92
int agent_type
household agent type
Definition: Household.hpp:79
long _house
id of the network's node where the household is living
Definition: Household.hpp:122
int cur_proc
current household process
Definition: Household.hpp:80
std::string getType() const
Return the current household type.
Definition: Household.hpp:158
Household(repast::AgentId id, int ins, std::vector< repast::AgentId > list_ind, std::string type, int n_children, int n_adults)
Constructor.
Definition: Household.cpp:46
int n_children
number of children
Definition: Household.hpp:84
int _n_adults
household's number of additional adults
Definition: Household.hpp:121
friend class boost::serialization::access
Definition: Household.hpp:112
std::string type
household type
Definition: Household.hpp:83
int id
id of the household
Definition: Household.hpp:77
void removeIndFromList(repast::AgentId aId)
Removes an individual from the household.
Definition: Household.cpp:136
void addBaby(repast::AgentId aBabyId)
Adding a baby to the household.
Definition: Household.cpp:150
Data related class and methods.
The package structure for Household agents.
Definition: Household.hpp:50
friend class boost::serialization::access
Definition: Household.hpp:52
int getIns() const
Return the ins code of the household's municipality.
Definition: Household.hpp:238
int n_adults
number of additional adults
Definition: Household.hpp:85
void setNAdults(int val)
Set the number of additional adults.
Definition: Household.hpp:198
std::string _type
household's type
Definition: Household.hpp:119
std::vector< repast::AgentId > & getListInd()
Return a list of the household's member.
Definition: Household.hpp:206
void setType(std::string val)
Set household's type.
Definition: Household.hpp:166
void setListInd(std::vector< repast::AgentId > val)
Set the list of household members.
Definition: Household.hpp:214
void serialize(Archive &ar, const unsigned int version)
Serializing procedure of the package.
Definition: Household.hpp:60
std::vector< Individual * > getIndividuals(repast::SharedContext< Individual > &agentsInd)
Return a vector of pointers to the individual agents belonging to the household.
Definition: Household.cpp:65
void setIns(int val)
Set the household ins code.
Definition: Household.hpp:246
int _ins
household's municipality ins code
Definition: Household.hpp:117
repast::AgentId _id
household's unique id
Definition: Household.hpp:116
void localizeHouse(Data dataset)
Choose randomly a node of the network inside of the household's municipality as the household's house...
Definition: Household.cpp:143
HouseholdPackage()
Definition: Household.cpp:16
int ins
ins code of the household's municipality
Definition: Household.hpp:81
void setHouse(long val)
Set the node id of the household's home.
Definition: Household.hpp:230
std::vector< repast::AgentId > _list_ind
household's members id
Definition: Household.hpp:118
A data class.
Definition: Data.hpp:100
int _n_children
household's number of children (< 18 years old)
Definition: Household.hpp:120
int init_proc
initial household process
Definition: Household.hpp:78
int getNChildren() const
Get the number of children.
Definition: Household.hpp:174
long getHouse() const
Return the node id of the household's home.
Definition: Household.hpp:222
The individual agent class.
Definition: Individual.hpp:122
int getNAdults() const
Return the number of additional adults.
Definition: Household.hpp:190
std::vector< repast::AgentId > list_ind
ids of households' members
Definition: Household.hpp:82
The household agent class.
Definition: Household.hpp:110
void computeHhType(repast::SharedContext< Individual > &agentsInd)
Determines the household type.
Definition: Household.cpp:78
virtual ~Household()
Destructor.
Definition: Household.cpp:60
repast::AgentId & getId()
Return the household repast agent id (required by Repast).
Definition: Household.hpp:254