00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef _PopulationClusterList_h
00022 #define _PopulationClusterList_h
00023
00024
00025 #include "PopulationCluster.h"
00026 #include "CropSoil.h"
00027
00028
00029 typedef struct
00030 { int carID;
00031 int lfSpan;
00032 MatrixDouble labGrp;
00033 MatrixDouble labCap;
00034 MatrixDouble probM;
00035 MatrixDouble probF;
00036 MatrixDouble ntrReq;
00037 } career;
00038
00039
00040 class c_liste
00041 { protected:
00042 int pop_nr;
00043 int canzahl;
00044 int letzte_c_nr;
00045 int num_a;
00046
00047 int numCar;
00048 int numLab;
00049 career* careers;
00050
00051 cluster* firstCluster;
00052 cluster* merkeCluster;
00053
00054 public:
00055 c_liste(int);
00056 virtual ~c_liste()
00057 { deallocateCareers();
00058 liste_loeschen();
00059 }
00060
00061 virtual void readInputFile(char* filename);
00062 virtual void writeInputIntoFile(char* filename);
00063
00064 virtual int getLabGrps();
00065 virtual double getYearLabCap(int car, int age);
00066 virtual void addActLabCap(MatrixDouble& mtx, int car, int age);
00067 virtual void addExpLabCap(MatrixDouble& mtx, int car, int age, double = 0.0);
00068 virtual void addActNtrReq(MatrixDouble& mtx, int car, int age);
00069 virtual void addExpNtrReq(MatrixDouble& mtx, int car, int age, double = 0.0);
00070 virtual int hasDeceased(int car, int age);
00071 virtual int givesBirth(int car, int age);
00072 virtual int defCareer(int sex);
00073 virtual void deallocateCareers();
00074
00075
00076 virtual double getFarmFixCosts(int cluID, double totHa, double irrHa);
00077
00078 virtual void cluster_anlegen(char*);
00079 virtual void ccluster_anlegen(char*);
00080 virtual void deallokieren(cluster*);
00081 virtual void einfuegen(cluster*);
00082 virtual int get_anzahl(void);
00083 virtual int get_nummer(void);
00084 virtual cluster* cluster_suchen(int);
00085 virtual cluster* getFirst();
00086 virtual int getTotalNumAgents(void);
00087
00088 virtual void lotto_deallokieren();
00089 virtual void writeRandomAssignInFiles();
00090 virtual void printToScreen(cluster*);
00091 virtual void printOnScreen_list(void);
00092 virtual void liste_loeschen(void);
00093 };
00094
00095 #endif
00096