00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef _AgentHouseholdList_h
00021 #define _AgentHouseholdList_h
00022
00023
00024 #include "AgentHouseholdMember.h"
00025 #include "MatrixDouble.h"
00026
00027 class hh_list
00028 { protected:
00029 int scID;
00030 int hhID;
00031
00032 int hhSize;
00033 int nAdults;
00034 int nChilds;
00035 int nSchool;
00036 int lastPID;
00037
00038 MatrixDouble actLabCapHH;
00039 MatrixDouble expLabCapHH;
00040 MatrixDouble actNtrReqHH;
00041 MatrixDouble expNtrReqHH;
00042
00043 hhmember* firstHHmember;
00044 hhmember* lastHHmember;
00045 hhmember* markedHHmember;
00046
00047 public:
00048 hh_list(int, int);
00049 virtual ~hh_list()
00050 { deleteList();
00051 }
00052
00053 virtual void makeHHmember(int age, int sex, int head, int career);
00054 virtual void makeHeadOfHH(int popID, int sex);
00055 virtual void deallocHHmember(hhmember*);
00056 virtual void insertHHmember(hhmember*);
00057
00058 virtual int getNumLabSpan();
00059 virtual int getNumLabGrps();
00060
00061 virtual void makeActLabCapHH(int popID);
00062 virtual void makeExpLabCapHH(int popID);
00063 virtual double getActLabAvail(int span, int lGrp);
00064 virtual double getExpLabAvail(int span, int lGrp);
00065
00066 virtual double getActTotLabForce(int popID);
00067 virtual double getActAduLabForce(int popID);
00068 virtual double getActAduFemForce(int popID);
00069 virtual double getActAduMalForce(int popID);
00070 virtual double getExpTotLabForce(int popID);
00071 virtual double getExpAduLabForce(int popID);
00072 virtual double getExpAduFemForce(int popID);
00073 virtual double getExpAduMalForce(int popID);
00074
00075 virtual void makeActNtrReqHH(int popID);
00076 virtual void makeExpNtrReqHH(int popID);
00077 virtual double getActNtrReqs(int ntr);
00078 virtual double getExpNtrReqs(int ntr);
00079
00080 virtual int getNumMembers(void);
00081 virtual int getNumAdults(void);
00082 virtual int getNumChilds(void);
00083 virtual int getNumSchoolAge(void);
00084 virtual int getNumSexAgeGroup(int sex, int ageLow, int ageUpp);
00085 virtual int getLastID(void);
00086
00087 virtual hhmember* searchForHHmember(int pID);
00088 virtual hhmember* searchFirstSex(int);
00089 virtual hhmember* searchNextSex(int);
00090 virtual hhmember* searchLastSex(int);
00091 virtual hhmember* searchPreviousSex(int);
00092 virtual hhmember* getFirst();
00093 virtual hhmember* getLast();
00094
00095 virtual void updateAgeInHH(int popID);
00096 virtual void updateStatistics(int popID);
00097 virtual hhmember* takeOutHHmember(hhmember*);
00098
00099 virtual void printOnScreenHHmember(hhmember*);
00100 virtual void printOnScreen_list(void);
00101 virtual void deleteList(void);
00102 };
00103
00104 #endif