Gadget
poppredator.h
Go to the documentation of this file.
1 #ifndef poppredator_h
2 #define poppredator_h
3 
4 #include "areatime.h"
5 #include "conversionindex.h"
6 #include "commentstream.h"
7 #include "agebandmatrix.h"
9 #include "predator.h"
10 #include "keeper.h"
11 
16 class PopPredator : public Predator {
17 public:
26  PopPredator(const char* givenname, const IntVector& areas,
27  const LengthGroupDivision* const OtherLgrpDiv, const LengthGroupDivision* const GivenLgrpDiv);
34  PopPredator(const char* givenname, const IntVector& areas);
38  virtual ~PopPredator();
43  virtual void Print(ofstream& outfile) const;
50  virtual const PopInfoVector& getConsumptionPopInfo(int area, const char* preyname) const;
56  virtual const PopInfoVector& getPredatorNumber(int area) const { return prednumber[this->areaNum(area)]; };
63  virtual const DoubleMatrix& getConsumption(int area, const char* preyname) const;
69  virtual int hasOverConsumption(int area) const { return hasoverconsumption[this->areaNum(area)]; };
75  virtual const DoubleVector& getOverConsumption(int area) const { return overconsumption[this->areaNum(area)]; };
81  virtual double getTotalOverConsumption(int area) const;
86  virtual const LengthGroupDivision* getLengthGroupDiv() const { return LgrpDiv; };
91  virtual void Reset(const TimeClass* const TimeInfo);
98  virtual double getConsumptionBiomass(int prey, int area) const;
106  virtual double getConsumptionRatio(int area, int prey, int len) const { return (*predratio[this->areaNum(area)])[prey][len]; };
113  const DoubleMatrix& getUseSuitability(int area, int prey) const { return (*usesuit[this->areaNum(area)][prey]); };
119  void setPrey(PreyPtrVector& preyvec, Keeper* const keeper);
120 protected:
178 };
179 
180 #endif
This is the class used to convert information from one LengthGroupDivision length structure to a seco...
Definition: conversionindex.h:12
This class implements a dynamic vector of DoubleMatrixPtrVector values.
Definition: doublematrixptrmatrix.h:13
This class implements a dynamic vector of DoubleMatrix values.
Definition: doublematrixptrvector.h:10
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 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
IntVector areas
This is the IntVector of internal areas that the object is defined on.
Definition: livesonareas.h:51
int areaNum(int area) const
This function will return the area associated with an internal area.
Definition: livesonareas.cc:33
This class implements a dynamic vector of PopInfoVector values.
Definition: popinfomatrix.h:11
This class implements a dynamic vector of PopInfo values.
Definition: popinfovector.h:11
This is the class used to model the predation of a population.
Definition: poppredator.h:16
const DoubleMatrix & getUseSuitability(int area, int prey) const
This will return the suitability used by the predator for a given prey on a given area,...
Definition: poppredator.h:113
virtual double getConsumptionBiomass(int prey, int area) const
This will return the biomass the predator consumes of a given prey on a given area.
Definition: poppredator.cc:71
IntVector hasoverconsumption
This is the IntVector used to store information on whether any overconsumption has occured on the cur...
Definition: poppredator.h:177
DoubleMatrix overconsumption
This is the DoubleMatrix used to store information on the overconsumption by the predators on the cur...
Definition: poppredator.h:138
virtual const DoubleMatrix & getConsumption(int area, const char *preyname) const
This will return the amount the predator consumes of a given prey on a given area.
Definition: poppredator.cc:61
virtual void Print(ofstream &outfile) const
This function will print the predation data.
Definition: poppredator.cc:38
virtual double getConsumptionRatio(int area, int prey, int len) const
This will return the ratio used to split the predation between the areas and length groups.
Definition: poppredator.h:106
PopPredator(const char *givenname, const IntVector &areas, const LengthGroupDivision *const OtherLgrpDiv, const LengthGroupDivision *const GivenLgrpDiv)
This is the PopPredator constructor to create a predator with a specified length group.
Definition: poppredator.cc:7
DoubleMatrix totalconsumption
This is the DoubleMatrix used to store information on the total consumption by the predators on the c...
Definition: poppredator.h:148
virtual const LengthGroupDivision * getLengthGroupDiv() const
This will return the length group information for the predator.
Definition: poppredator.h:86
DoubleMatrixPtrMatrix cons
This is the DoubleMatrixPtrMatrix used to store information on the consumption by the predators on th...
Definition: poppredator.h:158
DoubleMatrixPtrMatrix usesuit
This is the DoubleMatrixPtrMatrix used to store suitability information for the predators on the curr...
Definition: poppredator.h:173
void setPrey(PreyPtrVector &preyvec, Keeper *const keeper)
This will select the preys that will be consumed by the predator.
Definition: poppredator.cc:114
LengthGroupDivision * LgrpDiv
This is the LengthGroupDivision used to store length information.
Definition: poppredator.h:124
DoubleMatrix totalcons
This is the DoubleMatrix used to store information on the total consumption by the predators on the c...
Definition: poppredator.h:163
DoubleMatrixPtrMatrix consumption
This is the DoubleMatrixPtrMatrix used to store information on the consumption by the predators on th...
Definition: poppredator.h:143
virtual int hasOverConsumption(int area) const
This will return the flag that denotes if the predator has overconsumed on a given area.
Definition: poppredator.h:69
virtual ~PopPredator()
This is the default PopPredator destructor.
Definition: poppredator.cc:23
virtual double getTotalOverConsumption(int area) const
This will return the total amount the predator overconsumes on a given area.
Definition: poppredator.cc:161
virtual void Reset(const TimeClass *const TimeInfo)
This function will reset the predation information for the current model run.
Definition: poppredator.cc:85
PopInfoMatrix prednumber
This is the PopInfoMatrix used to store information on the number of predators for the current timest...
Definition: poppredator.h:133
DoubleMatrixPtrVector predratio
This is the DoubleMatrixPtrVector used to store the ratio used to split the predation between the are...
Definition: poppredator.h:168
virtual const DoubleVector & getOverConsumption(int area) const
This will return the amount the predator overconsumes on a given area.
Definition: poppredator.h:75
ConversionIndex * CI
This is the ConversionIndexPtrVector used to convert to the lengths groups for the length-based preda...
Definition: poppredator.h:128
virtual const PopInfoVector & getConsumptionPopInfo(int area, const char *preyname) const
This function will return the number of a prey on a specified area before the consumption calculation...
Definition: poppredator.cc:173
virtual const PopInfoVector & getPredatorNumber(int area) const
This function will return the population number of the predator on a given area.
Definition: poppredator.h:56
DoubleMatrix overcons
This is the DoubleMatrix used to store information on the overconsumption by the predators on the cur...
Definition: poppredator.h:153
This is the base class used to model the consumption by a predator.
Definition: predator.h:25
This class implements a dynamic vector of Prey values.
Definition: preyptrvector.h:10
This is the class used to store information about the timesteps used for the current model.
Definition: areatime.h:87