Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

AgentHouseholdList.h

Go to the documentation of this file.
00001 //------------------------------------------------------------------------------
00002 //
00003 //  Thomas Berger (main author), Pepijn Schreinemachers, and Thorsten Arnold
00004 //
00005 //
00006 //  Hohenheim University (490d)
00007 //  Professorship for Land Use Economics in the Tropics and Subtropics
00008 //
00009 //  May not be distributed without permission by main author
00010 //
00011 //  File:       AgentHouseholdList.h (formerly hhlist.h)
00012 //
00013 //  Contents:   Manages linked list of all household members of one agent
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;    //SubcatchmentNum
00030    int hhID;    //Betriebsnummer
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); //total available labor force
00067    virtual double getActAduLabForce(int popID); //only adult labor force
00068    virtual double getActAduFemForce(int popID); //only adult female labor
00069    virtual double getActAduMalForce(int popID); //only adult male labor
00070    virtual double getExpTotLabForce(int popID); //total available labor force
00071    virtual double getExpAduLabForce(int popID); //only adult labor force
00072    virtual double getExpAduFemForce(int popID); //only adult female labor
00073    virtual double getExpAduMalForce(int popID); //only adult male labor
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);//Parameter: sex
00089    virtual hhmember* searchNextSex(int); //Parameter: sex
00090         virtual hhmember* searchLastSex(int); //Parameter: sex
00091    virtual hhmember* searchPreviousSex(int);//Parameter: sex
00092    virtual hhmember* getFirst();//return first in list
00093    virtual hhmember* getLast();//return last in list
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

Generated on Thu Aug 28 12:38:44 2008 for MPMAS by  doxygen 1.3.9.1