Gadget
stockpredator.h
Go to the documentation of this file.
1 #ifndef stockpredator_h
2 #define stockpredator_h
3 
4 #include "areatime.h"
5 #include "lengthgroup.h"
6 #include "commentstream.h"
8 #include "poppredator.h"
9 
14 class StockPredator : public PopPredator {
15 public:
28  StockPredator(CommentStream& infile, const char* givenname, const IntVector& Areas,
29  const LengthGroupDivision* const OtherLgrpDiv, const LengthGroupDivision* const GivenLgrpDiv,
30  int minage, int numage, const TimeClass* const TimeInfo, Keeper* const keeper);
34  virtual ~StockPredator() {};
41  virtual void Eat(int area, const AreaClass* const Area, const TimeClass* const TimeInfo);
47  virtual void Sum(const AgeBandMatrix& stockAlkeys, int area);
53  virtual void adjustConsumption(int area, const TimeClass* const TimeInfo);
58  virtual void Reset(const TimeClass* const TimeInfo);
63  virtual void Print(ofstream& outfile) const;
69  const DoubleVector& getFPhi(int area) const { return fphi[this->areaNum(area)]; };
75  const DoubleVector& getMaxConsumption(int area) const { return maxcons[this->areaNum(area)]; };
80  int minAge() const { return predAlkeys[0].minAge(); };
85  int maxAge() const { return predAlkeys[0].maxAge(); };
91  const AgeBandMatrix& getCurrentALK(int area) const { return predAlkeys[this->areaNum(area)]; };
92 protected:
126 };
127 
128 #endif
This class implements a dynamic vector of AgeBandMatrix values.
Definition: agebandmatrixptrvector.h:12
This class implements a vector of PopInfoIndexVector values, indexed from minage not 0.
Definition: agebandmatrix.h:15
This is the class used to store information about the areas used for the current model.
Definition: areatime.h:18
This is the class used to strip comments (and whitespace) from any input stream.
Definition: commentstream.h:40
This class implements a dynamic vector of DoubleVector values.
Definition: doublematrix.h:11
This class implements a dynamic vector of double values.
Definition: doublevector.h:11
This class implements a dynamic vector of Formula values.
Definition: formulavector.h:10
This class implements a dynamic vector of int values.
Definition: intvector.h:11
This is the class used to store information about the variables that are used in model simulation.
Definition: keeper.h:17
This is the class used to store information about the length groups of the modelled stock population.
Definition: lengthgroup.h:10
int areaNum(int area) const
This function will return the area associated with an internal area.
Definition: livesonareas.cc:33
This is the class used to model the predation of a population.
Definition: poppredator.h:16
This is the class used to model the predation by stocks.
Definition: stockpredator.h:14
DoubleMatrix maxcons
This is the DoubleMatrix used to store maximum consumption by predator length group on the current ti...
Definition: stockpredator.h:120
const DoubleVector & getFPhi(int area) const
This function will return the feeding level of the predator on a given area.
Definition: stockpredator.h:69
AgeBandMatrixPtrVector predAlkeys
This is the AgeBandMatrixPtrVector used to store information about the predator population.
Definition: stockpredator.h:125
DoubleMatrix subfphi
This is the DoubleMatrix used to store the feeding level on the current substep of the current timest...
Definition: stockpredator.h:115
FormulaVector consParam
This is the FormulaVector used to store the consumption parameters.
Definition: stockpredator.h:100
virtual void Print(ofstream &outfile) const
This function will print the predator information.
Definition: stockpredator.cc:93
const AgeBandMatrix & getCurrentALK(int area) const
This will return the population of the predator on a given area.
Definition: stockpredator.h:91
int functionnumber
This is the identifier of the function to be used to calculate the maximum consumption.
Definition: stockpredator.h:91
DoubleMatrix fphi
This is the DoubleMatrix used to store the feeding level on the current timestep.
Definition: stockpredator.h:110
virtual void adjustConsumption(int area, const TimeClass *const TimeInfo)
This will adjust the amount the predator consumes on a given area, to take oversconsumption into cons...
Definition: stockpredator.cc:266
virtual void Eat(int area, const AreaClass *const Area, const TimeClass *const TimeInfo)
This will calculate the amount the predator consumes on a given area.
Definition: stockpredator.cc:144
virtual void Reset(const TimeClass *const TimeInfo)
This function will reset the predation information for the current model run.
Definition: stockpredator.cc:124
virtual void Sum(const AgeBandMatrix &stockAlkeys, int area)
This will calculate the amount of prey that is consumed by the predator on a given area.
Definition: stockpredator.cc:117
int maxAge() const
This will return the maximum age of the predator.
Definition: stockpredator.h:85
DoubleMatrix Phi
This is the DoubleMatrix used to store the sum of the feeding levels (over all preys) on the current ...
Definition: stockpredator.h:105
StockPredator(CommentStream &infile, const char *givenname, const IntVector &Areas, const LengthGroupDivision *const OtherLgrpDiv, const LengthGroupDivision *const GivenLgrpDiv, int minage, int numage, const TimeClass *const TimeInfo, Keeper *const keeper)
This is the StockPredator constructor.
Definition: stockpredator.cc:12
const DoubleVector & getMaxConsumption(int area) const
This function will return the maximum consumption by length group of the predator on a given area.
Definition: stockpredator.h:75
virtual ~StockPredator()
This is the default StockPredator destructor.
Definition: stockpredator.h:34
int minAge() const
This will return the minimum age of the predator.
Definition: stockpredator.h:80
This is the class used to store information about the timesteps used for the current model.
Definition: areatime.h:87