Subversion Repositories public iLand

Rev

Rev 228 | Rev 230 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1
 
187 iland 2
#ifndef RESOURCEUNITSPECIES_H
3
#define RESOURCEUNITSPECIES_H
115 Werner 4
#include "production3pg.h"
180 werner 5
#include "standstatistics.h"
193 werner 6
#include "speciesresponse.h"
111 Werner 7
 
8
class Species;
187 iland 9
class ResourceUnit;
111 Werner 10
 
187 iland 11
class ResourceUnitSpecies
111 Werner 12
{
13
public:
187 iland 14
    ResourceUnitSpecies() : mSpecies(0), mRU(0) {}
229 werner 15
    void setup(Species *species, ResourceUnit *ru) { mSpecies = species; mRU = ru; mResponse.setup(this); m3PG.setResponse(&mResponse); }
115 Werner 16
 
209 werner 17
    const SpeciesResponse *speciesResponse() const { return &mResponse; }
208 werner 18
    const Species *species() const { return mSpecies; } ///< return pointer to species
19
    const ResourceUnit *ru() const { return mRU; } ///< return pointer to resource unit
228 werner 20
    const Production3PG &prod3PG() const { return m3PG; } ///< the 3pg production model of this speies x resourceunit
208 werner 21
    StandStatistics &statistics() { return mStatistics; } ///< statistics of this species on the resourceunit
182 werner 22
    const StandStatistics &constStatistics() const { return mStatistics; }
115 Werner 23
    // action
229 werner 24
    void print() const;
226 werner 25
    void calculate();
115 Werner 26
 
111 Werner 27
private:
180 werner 28
    StandStatistics mStatistics;
115 Werner 29
    Production3PG m3PG;
111 Werner 30
    Species *mSpecies;
193 werner 31
    SpeciesResponse mResponse;
187 iland 32
    ResourceUnit *mRU;
111 Werner 33
};
34
 
35
#endif // RESSOURCEUNITSPECIES_H