Gadget
|
This is the base class used to model the consumption by a predator. More...
#include <predator.h>
Public Member Functions | |
Predator (const char *givenname, const IntVector &Areas) | |
This is the Predator constructor. More... | |
virtual | ~Predator () |
This is the default Predator destructor. More... | |
virtual void | Eat (int area, const AreaClass *const Area, const TimeClass *const TimeInfo)=0 |
This will calculate the amount the predator consumes on a given area. More... | |
void | setPrey (PreyPtrVector &preyvec, Keeper *const keeper) |
This will select the preys that will be consumed by the predator. More... | |
int | doesEat (const char *preyname) const |
This function will check to see if the predator will consume a specified prey. More... | |
virtual void | adjustConsumption (int area, const TimeClass *const TimeInfo)=0 |
This will adjust the amount the predator consumes on a given area to take any overconsumption into account. More... | |
virtual void | Print (ofstream &outfile) const |
This function will print the predation data. More... | |
virtual void | Reset (const TimeClass *const TimeInfo) |
This will reset the predation information for the current model run. More... | |
virtual const DoubleMatrix & | getConsumption (int area, const char *preyname) const =0 |
This will return the amount the predator consumes of a given prey on a given area. More... | |
virtual int | hasOverConsumption (int area) const =0 |
This will return the flag that denotes if the predator has overconsumed on a given area. More... | |
virtual const DoubleVector & | getOverConsumption (int area) const =0 |
This will return the amount the predator overconsumes on a given area. More... | |
virtual double | getTotalOverConsumption (int area) const =0 |
This will return the total amount the predator overconsumes on a given area. More... | |
virtual double | getConsumptionBiomass (int prey, int area) const =0 |
This will return the biomass the predator consumes of a given prey on a given area. More... | |
virtual double | getConsumptionRatio (int area, int prey, int len) const =0 |
This will return the ratio used to split the predation between the areas and length groups. More... | |
virtual const PopInfoVector & | getConsumptionPopInfo (int area, const char *preyname) const =0 |
This will return the amount of a given prey on a given area prior to any consumption by the predator. More... | |
virtual const LengthGroupDivision * | getLengthGroupDiv () const =0 |
This will return the length group information for the predator. More... | |
virtual void | setTimeMultiplier (const TimeClass *const TimeInfo, int quotastep, double value) |
This is a multiplier set in lengthpredator. More... | |
virtual void | Initialise () |
This will return the number of prey stocks that the predator will consume. More... | |
int | numPreys () const |
Prey * | getPrey (int i) const |
This will return a given prey. More... | |
const char * | getPreyName (int i) const |
This will return the name of a given prey. More... | |
int | didChange (int i, const TimeClass *const TimeInfo) |
This function will check to see if the suitability parameters for a given prey have changed on the current timestep. More... | |
const DoubleMatrix & | getSuitability (int i) const |
This will return the suitability values for a given prey. More... | |
double | getPreference (int i) const |
This will return the preference for a given prey. More... | |
PredatorType | getType () const |
This will return the type of predator class. More... | |
![]() | |
HasName () | |
This is the default HasName constructor. More... | |
virtual | ~HasName () |
This is the default HasName destructor. More... | |
HasName (const char *givenname) | |
This is the HasName constructor for a specified name. More... | |
const char * | getName () const |
This will return a null terminated text string containing the name of the object. More... | |
![]() | |
LivesOnAreas () | |
This is the default LivesOnAreas constructor. More... | |
virtual | ~LivesOnAreas () |
This is the default LivesOnAreas destructor. More... | |
LivesOnAreas (const IntVector &Areas) | |
This is the LivesOnAreas constructor for a specified vector of areas. More... | |
int | isInArea (int area) const |
This function will check whether the object is defined on a specified area. More... | |
IntVector & | getAreas () |
This function will return the internal areas that the object is defined on. More... | |
int | areaNum (int area) const |
This function will return the area associated with an internal area. More... | |
Protected Member Functions | |
void | readSuitability (CommentStream &infile, const TimeClass *const TimeInfo, Keeper *const keeper) |
This function will read the suitability data from the input file. More... | |
![]() | |
void | storeAreas (const IntVector &Areas) |
This function will store the internal areas to be used. More... | |
Protected Attributes | |
FormulaVector | preference |
This is the FormulaVector used to store the prey preference parameters. More... | |
PredatorType | type |
This denotes what type of predator class has been created. More... | |
![]() | |
IntVector | areas |
This is the IntVector of internal areas that the object is defined on. More... | |
This is the base class used to model the consumption by a predator.
This class is used to calculate the predation of prey species by a predator, either by a fleet or by a modelled stock in the simulation. The amount of the various prey species that the predator wants to consume is calculated, based on the suitability functions defined for each prey. This ''target consumption'' is then checked to ensure that no more than 95% of each the prey species is to be consumed (by all the predators of that prey), and the consumption is adjusted if this is the case. The population of the prey species is then reduced by the total amount that the predators consume.
Predator::Predator | ( | const char * | givenname, |
const IntVector & | Areas | ||
) |
|
virtual |
This is the default Predator destructor.
|
pure virtual |
This will adjust the amount the predator consumes on a given area to take any overconsumption into account.
area | is the area that the prey consumption is being calculated on |
TimeInfo | is the TimeClass for the current model |
Implemented in TotalPredator, StockPredator, QuotaPredator, NumberPredator, LinearPredator, and EffortPredator.
|
inline |
This function will check to see if the suitability parameters for a given prey have changed on the current timestep.
i | is the index of the prey |
TimeInfo | is the TimeClass for the current model |
int Predator::doesEat | ( | const char * | preyname | ) | const |
This function will check to see if the predator will consume a specified prey.
preyname | is the name of the prey |
|
pure virtual |
This will calculate the amount the predator consumes on a given area.
area | is the area that the prey consumption is being calculated on |
Area | is the AreaClass for the current model |
TimeInfo | is the TimeClass for the current model |
Implemented in TotalPredator, StockPredator, QuotaPredator, NumberPredator, LinearPredator, and EffortPredator.
|
pure virtual |
This will return the amount the predator consumes of a given prey on a given area.
area | is the area that the consumption is being calculated on |
preyname | is the name of the prey that is being consumed |
Implemented in PopPredator.
|
pure virtual |
This will return the biomass the predator consumes of a given prey on a given area.
prey | is the index for the prey |
area | is the area that the consumption is being calculated on |
Implemented in PopPredator.
|
pure virtual |
This will return the amount of a given prey on a given area prior to any consumption by the predator.
area | is the area that the consumption is being calculated on |
preyname | is the name of the prey that is being consumed |
Implemented in PopPredator.
|
pure virtual |
This will return the ratio used to split the predation between the areas and length groups.
area | is the area that the consumption is being calculated on |
prey | is the index for the prey |
len | is the length group of the predator |
Implemented in PopPredator.
|
pure virtual |
This will return the length group information for the predator.
Implemented in PopPredator.
|
pure virtual |
This will return the amount the predator overconsumes on a given area.
area | is the area that the consumption is being calculated on |
Implemented in PopPredator.
|
inline |
This will return the preference for a given prey.
i | is the index of the prey |
|
inline |
This will return a given prey.
i | is the index of the prey |
|
inline |
This will return the name of a given prey.
i | is the index of the prey |
|
inline |
This will return the suitability values for a given prey.
i | is the index of the prey |
|
pure virtual |
This will return the total amount the predator overconsumes on a given area.
area | is the area that the consumption is being calculated on |
Implemented in PopPredator.
|
inline |
This will return the type of predator class.
|
pure virtual |
This will return the flag that denotes if the predator has overconsumed on a given area.
area | is the area that the consumption is being calculated on |
Implemented in PopPredator.
|
inlinevirtual |
This will return the number of prey stocks that the predator will consume.
This will initialise the preys that will be consumed by the predator
|
inline |
|
virtual |
This function will print the predation data.
outfile | is the ofstream that all the model information gets sent to |
Reimplemented in TotalPredator, StockPredator, QuotaPredator, PopPredator, NumberPredator, LinearPredator, and EffortPredator.
|
protected |
This function will read the suitability data from the input file.
infile | is the CommentStream to read the suitabiltiy data from |
TimeInfo | is the TimeClass for the current model |
keeper | is the Keeper for the current model |
|
inlinevirtual |
This will reset the predation information for the current model run.
TimeInfo | is the TimeClass for the current model |
Reimplemented in StockPredator, PopPredator, and LengthPredator.
void Predator::setPrey | ( | PreyPtrVector & | preyvec, |
Keeper *const | keeper | ||
) |
This will select the preys that will be consumed by the predator.
preyvec | is the PreyPtrVector of all the available preys |
keeper | is the Keeper for the current model |
|
inlinevirtual |
This is a multiplier set in lengthpredator.
Reimplemented in LengthPredator.
|
protected |
This is the FormulaVector used to store the prey preference parameters.
|
protected |
This denotes what type of predator class has been created.