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

MarketNonTradablesBid.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:       MarketNonTradablesBid.h (formerly gebot.h)
00012 //
00013 //  Contents:   Bid submitted by one agent, contains data such as ownership,
00014 //              minimum asking price or maximum offered price
00015 //
00016 //
00017 //------------------------------------------------------------------------------
00018 
00019 
00020 
00021 //Header für die Pachtgebot-Klasse
00022 #ifndef _MarketNonTradablesBid_h
00023 #define _MarketNonTradablesBid_h
00024 
00025 
00026 #include <string>
00027 
00028 #include <stdio.h>
00029 #include <iostream>
00030 #include <fstream>
00031 
00032 #include "FinancialMathFunctions.h"
00033 
00034 //Klasse der Pachtgebote, die Pachtanbieter und Pachtnachfrager aufstellen. Je
00035 //nach dem, ob es sich um einen Anbieter (Nachfrager) handelt, sind einige der
00036 //Datenelemente zu interpretieren.
00037 class gebot
00038 {  protected:
00039         int x;//x-Koordinate der angebotenen Parzelle (der Hofstelle des Nachfragers)
00040    int y;//y-Koordinate der angebotenen Parzelle (der Hofstelle des Nachfragers)
00041    int typ;        //Bodentyp des Pachtgebots
00042    int b_nr;    //Betriebsnr. des Pachtanbieters (Pachtnachfragers)
00043    int b_sc;    //SubcatchmentNum des Pachtanbieters (Pachtnachfragers)
00044    w_jahr* vol;//damit verbundenes monatliches Wasservolumen //neu 2003
00045    double entf;//Maximalentfernung einer in Betracht kommenden Parzelle
00046    double pacht;//ausgehandelte Pachtzahlung
00047 
00048    int p_nr;    //Betriebsnr. eines möglichen Pachtpartners
00049    int p_sc;    //SubcatchmentNum eines möglichen Pachtpartners
00050    int flag;    //zur Kennzeichnung, ob bereits ausgeführte Transaktion
00051 
00052 public:
00053         //Übergabe: x-Koord., y-Koord., Bodentyp, Betriebsnr., SubcatchmentNum, Volumina
00054         //und maximale Entfernung
00055    gebot(int, int, int, int, int, w_jahr*, double);
00056    virtual ~gebot()
00057    {    delete vol; //neu 2003
00058    }
00059 
00060    //für die Auktionsgebotsliste
00061    gebot* nextAuktion;
00062    void setNextPtr_A (gebot*);
00063    gebot* getNext_A();
00064 
00065         //Elementfunktionen liefern geschützte Informationen zurück
00066    virtual int get_flag();
00067         virtual int get_x();
00068         virtual int get_y();
00069         virtual int get_typ();
00070         virtual int get_bnr();
00071         int getCatchmentOfOwner(){      return b_sc;}
00072    virtual w_jahr* get_vol();
00073    virtual double get_m_vol(int);
00074    virtual double get_entf();
00075         virtual int get_pnr();
00076         virtual int get_psc();
00077    virtual double get_pacht();
00078 
00079         //Elementfunktionen zur Veränderung der Eigenschaften
00080    virtual void set_flag(int);//Übergabe: true/false
00081         virtual void partner_eintragen(int, int);//Übergabe: Betr.-, Subcatchment-nr
00082    virtual void pacht_eintragen(double);
00083 
00084    virtual void printToScreen();
00085         virtual void in_datei_schreiben(FILE*);   
00086 };
00087 
00088 
00089 #endif
00090 

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