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

MarketNonTradablesHandler.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:       MarketNonTradablesHandler.h (formerly bwmarkt.h)
00012 //
00013 //  Contents:   Water and land market class, manages auctions for land and
00014 //              water; currently implemented at irrigation section
00015 //
00016 //
00017 //------------------------------------------------------------------------------
00018 
00019 
00020 
00021 //Header für die Boden-Watermarkt-Klasse
00022 
00023 #ifndef _MarketNonTradablesHandler_h
00024 #define _MarketNonTradablesHandler_h
00025 
00026 
00027 #include "MarketNonTradablesBid.h"
00028 #include "MarketNonTradablesBiddingList.h"
00029 
00030 
00031 class bwmarkt
00032 {  protected:
00033    int sek_nr;          //Num_Sector
00034    int sc_nr;           //SubcatchmentNum
00035 
00036    //int trans[TYPEN];     //Anzahl der Transaktionen
00037    //double maxEntf[TYPEN];//Radius des "Thünen'schen Rings" der Pachtnachfrager
00038    int* trans;             //neu 2003
00039    double* maxEntf;        //neu 2003
00040 
00041         p_daten* minPreis;      //Mindest- und Maximalpachtpreise
00042         p_daten* maxPreis;
00043         p_daten* menge;         //Anteil des Transfers an Gesamt
00044 
00045         a_liste verpaechter;    //Liste der Verpachtgebote
00046    a_liste paechter;       //Liste der Zupachtgebote
00047    a_liste transaktionen;  //Liste der vermittelten Gebote
00048 
00049         public:
00050         bwmarkt(int sk, int sc);
00051         virtual ~bwmarkt()
00052         {  //neu 2003 ----------------------------
00053       delete [] trans;
00054       delete [] maxEntf;
00055       delete minPreis;
00056       delete maxPreis;
00057       delete menge;
00058       //-------------------------------------
00059         }
00060 
00061 
00062         //Elementfunktionen liefern geschützte Informationen zurück
00063         virtual int get_trans(int);//Übergabe: Bodentyp
00064         virtual double get_min_preisB(int);//Übergabe: Bodentyp
00065         virtual double get_min_preisW(int);//Übergabe: Monat
00066         virtual double get_max_preisB(int);//Übergabe: Bodentyp
00067         virtual double get_max_preisW(int);//Übergabe: Monat
00068         virtual double get_mengeB(int);//Übergabe: Bodentyp
00069         virtual double get_mengeW(int);//Übergabe: Monat
00070 
00071         //stellt neue Gebote sortiert in die entsprechenden Listen
00072         virtual int get_zufallszahl(int);
00073         virtual void verpacht_aufnehmen(gebot*);
00074         virtual void zupacht_aufnehmen(gebot*);
00075 
00076    //die folgenden Elementfunktionen ermitteln den Radius sowie den nördlichen
00077    //und südlichen Rand des "Thünen'schen Rings"
00078    virtual double radius_ermitteln(int);//Übergabe: Bodentyp
00079    virtual int nordrand_ermitteln(int, int);//Übergabe: Bodentyp, y-Koord.
00080    virtual int suedrand_ermitteln(int, int);//Übergabe: Bodentyp, y-Koord.
00081 
00082    //die folgenden Elementfunktionen wickeln den Pachtmarkt ab.
00083    virtual int teilnehmer_vorhanden(int typ);//ja/nein?
00084    virtual void auktionsrunde_durchfuehren(int);//Übergabe: Bodentyp
00085    virtual void paechter_ermitteln(gebot*);//Übergabe: Zeiger auf ein Angebot
00086    virtual void unvermittelbare_loeschen();
00087    virtual int gebote_erneuern(int);//Übergabe: Bodentyp
00088    virtual void pacht_abschliessen();//nimmt Pachtzahlungen vor
00089    virtual void wassertransfers_pruefen(int);//korrigiert unerfüllbare Transfers
00090    virtual void alles_zuruecksetzen();//Pachtmarktdaten auf Null setzen
00091 
00092    virtual void listen_printOnScreen();//Auktionslisten
00093    virtual void listen_in_datei_schreiben(FILE*);
00094         virtual void printToScreen();//Marktdaten
00095 };
00096 
00097 
00098 #endif
00099 

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