Gadget
otherfood.h
Go to the documentation of this file.
1 #ifndef otherfood_h
2 #define otherfood_h
3 
4 #include "formulamatrix.h"
5 #include "lengthprey.h"
6 #include "base.h"
7 
16 class OtherFood : public BaseClass {
17 public:
26  OtherFood(CommentStream& infile, const char* givenname,
27  const AreaClass* const Area, const TimeClass* const TimeInfo, Keeper* const keeper);
31  virtual ~OtherFood();
38  virtual void calcEat(int area, const AreaClass* const Area, const TimeClass* const TimeInfo) {};
44  virtual void checkEat(int area, const TimeClass* const TimeInfo);
50  virtual void adjustEat(int area, const TimeClass* const TimeInfo) {};
56  virtual void reducePop(int area, const TimeClass* const TimeInfo) {};
63  virtual void Grow(int area, const AreaClass* const Area, const TimeClass* const TimeInfo) {};
69  virtual void updateAgePart1(int area, const TimeClass* const TimeInfo) {};
75  virtual void updateAgePart2(int area, const TimeClass* const TimeInfo) {};
81  virtual void updateAgePart3(int area, const TimeClass* const TimeInfo) {};
87  virtual void updatePopulationPart1(int area, const TimeClass* const TimeInfo) {};
93  virtual void updatePopulationPart2(int area, const TimeClass* const TimeInfo) {};
99  virtual void updatePopulationPart3(int area, const TimeClass* const TimeInfo) {};
105  virtual void updatePopulationPart4(int area, const TimeClass* const TimeInfo) {};
111  virtual void updatePopulationPart5(int area, const TimeClass* const TimeInfo) {};
117  virtual void calcNumbers(int area, const TimeClass* const TimeInfo);
122  virtual void Migrate(const TimeClass* const TimeInfo) {};
127  virtual void Reset(const TimeClass* const TimeInfo);
134  int isOtherFoodStepArea(int area, const TimeClass* const TimeInfo);
139  LengthPrey* getPrey() const { return prey; };
144  void Print(ofstream& outfile) const;
145 protected:
158 };
159 
160 #endif
This is the class used to store information about the areas used for the current model.
Definition: areatime.h:18
This is the base class for any object that can be dynamically modelled within Gadget.
Definition: base.h:13
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 FormulaVector values.
Definition: formulamatrix.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 model a simple length based prey.
Definition: lengthprey.h:11
This is the class used to model the available prey that is not modelled dynamically.
Definition: otherfood.h:16
virtual void Reset(const TimeClass *const TimeInfo)
This function will reset the model population.
Definition: otherfood.cc:94
virtual void adjustEat(int area, const TimeClass *const TimeInfo)
This function will adjust the modelled consumption for an area in the model.
Definition: otherfood.h:50
virtual void checkEat(int area, const TimeClass *const TimeInfo)
This function will check the modelled consumption for an area in the model.
Definition: otherfood.cc:68
virtual void reducePop(int area, const TimeClass *const TimeInfo)
This function will reduce the model population for an area in the model.
Definition: otherfood.h:56
virtual void updatePopulationPart2(int area, const TimeClass *const TimeInfo)
This function will calculate add the newly matured stock into the model population for an area in the...
Definition: otherfood.h:93
virtual void updatePopulationPart1(int area, const TimeClass *const TimeInfo)
This function will calculate the spawning of the model population for an area in the model.
Definition: otherfood.h:87
virtual void Migrate(const TimeClass *const TimeInfo)
This function will implement the migration of the model population for the model.
Definition: otherfood.h:122
virtual void updatePopulationPart3(int area, const TimeClass *const TimeInfo)
This function will calculate add the new recruits into the model population for an area in the model.
Definition: otherfood.h:99
virtual void Grow(int area, const AreaClass *const Area, const TimeClass *const TimeInfo)
This function will calculate the growth of the model population for an area in the model.
Definition: otherfood.h:63
virtual void updateAgePart1(int area, const TimeClass *const TimeInfo)
This function will calculate any transition of the model population for an area in the model.
Definition: otherfood.h:69
int isOtherFoodStepArea(int area, const TimeClass *const TimeInfo)
This will check if there is otherfood available on the current timestep.
Definition: otherfood.cc:78
virtual void updateAgePart2(int area, const TimeClass *const TimeInfo)
This function will calculate the age increase of the model population for an area in the model.
Definition: otherfood.h:75
virtual void updatePopulationPart4(int area, const TimeClass *const TimeInfo)
This function will calculate calculate the straying of the model population for an area in the model.
Definition: otherfood.h:105
FormulaMatrix amount
This is the amount of the otherfood that is available for the predators to consume.
Definition: otherfood.h:149
virtual void updatePopulationPart5(int area, const TimeClass *const TimeInfo)
This function will calculate add the strayed stock into the model population for an area in the model...
Definition: otherfood.h:111
LengthPrey * prey
This is the otherfood, as a prey in the current model.
Definition: otherfood.h:153
virtual void updateAgePart3(int area, const TimeClass *const TimeInfo)
This function will implement the transiton of the model population for an area in the model.
Definition: otherfood.h:81
virtual void calcNumbers(int area, const TimeClass *const TimeInfo)
This function will update the model population for an area in the model.
Definition: otherfood.cc:73
LengthPrey * getPrey() const
This will return the otherfood, as a prey type, for use in other functions.
Definition: otherfood.h:139
PopInfoMatrix tmpPopulation
This is the PopInfoMatrix used to temporarily store the amount of food available.
Definition: otherfood.h:157
virtual void calcEat(int area, const AreaClass *const Area, const TimeClass *const TimeInfo)
This function will calculate the modelled consumption for an area in the model.
Definition: otherfood.h:38
void Print(ofstream &outfile) const
This function will print the model population.
Definition: otherfood.cc:88
virtual ~OtherFood()
This is the default OtherFood destructor.
Definition: otherfood.cc:64
OtherFood(CommentStream &infile, const char *givenname, const AreaClass *const Area, const TimeClass *const TimeInfo, Keeper *const keeper)
This is the OtherFood constructor.
Definition: otherfood.cc:12
This class implements a dynamic vector of PopInfoVector values.
Definition: popinfomatrix.h:11
This is the class used to store information about the timesteps used for the current model.
Definition: areatime.h:87