Gadget
fleet.h
Go to the documentation of this file.
1 #ifndef fleet_h
2 #define fleet_h
3 
4 #include "base.h"
5 #include "formulamatrix.h"
6 #include "lengthpredator.h"
7 #include "keeper.h"
8 
10 
17 class Fleet : public BaseClass {
18 public:
28  Fleet(CommentStream& infile, const char* givenname, const AreaClass* const Area,
29  const TimeClass* const TimeInfo, Keeper* const keeper, FleetType ftype);
33  virtual ~Fleet();
38  void Print(ofstream& outfile) const;
45  virtual void calcEat(int area, const AreaClass* const Area, const TimeClass* const TimeInfo);
51  virtual void checkEat(int area, const TimeClass* const TimeInfo) {};
57  virtual void adjustEat(int area, const TimeClass* const TimeInfo);
63  virtual void reducePop(int area, const TimeClass* const TimeInfo) {};
70  virtual void Grow(int area, const AreaClass* const Area, const TimeClass* const TimeInfo) {};
76  virtual void updateAgePart1(int area, const TimeClass* const TimeInfo) {};
82  virtual void updateAgePart2(int area, const TimeClass* const TimeInfo) {};
88  virtual void updateAgePart3(int area, const TimeClass* const TimeInfo) {};
94  virtual void updatePopulationPart1(int area, const TimeClass* const TimeInfo) {};
100  virtual void updatePopulationPart2(int area, const TimeClass* const TimeInfo) {};
106  virtual void updatePopulationPart3(int area, const TimeClass* const TimeInfo) {};
112  virtual void updatePopulationPart4(int area, const TimeClass* const TimeInfo) {};
118  virtual void updatePopulationPart5(int area, const TimeClass* const TimeInfo) {};
124  virtual void calcNumbers(int area, const TimeClass* const TimeInfo);
129  virtual void Migrate(const TimeClass* const TimeInfo) {};
134  virtual void Reset(const TimeClass* const TimeInfo);
139  LengthPredator* getPredator() const { return predator; };
146  int isFleetStepArea(int area, const TimeClass* const TimeInfo);
151  FleetType getType() const { return type; };
152 protected:
165 private:
169  FleetType type;
170 };
171 
172 #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 is the class used to model the predation that is due to the action of a fleet in the Gadget mode...
Definition: fleet.h:17
LengthPredator * predator
This is the fleet, as a predator in the current model.
Definition: fleet.h:151
virtual void calcNumbers(int area, const TimeClass *const TimeInfo)
This function will update the model population for an area in the model.
Definition: fleet.cc:115
FormulaMatrix amount
This is the amount of the preys that the fleet has consumed.
Definition: fleet.h:160
virtual ~Fleet()
This is the default Fleet destructor.
Definition: fleet.cc:99
void Print(ofstream &outfile) const
This function will print the model population.
Definition: fleet.cc:128
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: fleet.h:76
virtual void checkEat(int area, const TimeClass *const TimeInfo)
This function will check the modelled consumption for an area in the model.
Definition: fleet.h:51
int isFleetStepArea(int area, const TimeClass *const TimeInfo)
This will check if the fleet will operate on the current timestep.
Definition: fleet.cc:133
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: fleet.h:70
virtual void reducePop(int area, const TimeClass *const TimeInfo)
This function will reduce the model population for an area in the model.
Definition: fleet.h:63
virtual void adjustEat(int area, const TimeClass *const TimeInfo)
This function will adjust the modelled consumption for an area in the model.
Definition: fleet.cc:110
Fleet(CommentStream &infile, const char *givenname, const AreaClass *const Area, const TimeClass *const TimeInfo, Keeper *const keeper, FleetType ftype)
This is the Fleet constructor.
Definition: fleet.cc:15
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: fleet.cc:103
PopInfoMatrix tmpPopulation
This is the PopInfoMatrix used to temporarily store the amount consumed.
Definition: fleet.h:164
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: fleet.h:118
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: fleet.h:100
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: fleet.h:112
LengthPredator * getPredator() const
This will return the fleet, as a predator type, for use in other functions.
Definition: fleet.h:139
virtual void Migrate(const TimeClass *const TimeInfo)
This function will implement the migration of the model population for the model.
Definition: fleet.h:129
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: fleet.h:106
FleetType getType() const
This will return the type of fleet class.
Definition: fleet.h:151
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: fleet.h:94
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: fleet.h:82
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: fleet.h:88
virtual void Reset(const TimeClass *const TimeInfo)
This function will reset the model population.
Definition: fleet.cc:120
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 the predation of stocks by a fleet.
Definition: lengthpredator.h:10
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
FleetType
Definition: fleet.h:9
@ NUMBERFLEET
Definition: fleet.h:9
@ LINEARFLEET
Definition: fleet.h:9
@ QUOTAFLEET
Definition: fleet.h:9
@ TOTALFLEET
Definition: fleet.h:9
@ EFFORTFLEET
Definition: fleet.h:9