Gadget
Public Member Functions | Protected Attributes | List of all members
StockPredator Class Reference

This is the class used to model the predation by stocks. More...

#include <stockpredator.h>

Inheritance diagram for StockPredator:
Inheritance graph
Collaboration diagram for StockPredator:
Collaboration graph

Public Member Functions

 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. More...
 
virtual ~StockPredator ()
 This is the default StockPredator destructor. More...
 
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. More...
 
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. More...
 
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 consideration. More...
 
virtual void Reset (const TimeClass *const TimeInfo)
 This function will reset the predation information for the current model run. More...
 
virtual void Print (ofstream &outfile) const
 This function will print the predator information. More...
 
const DoubleVectorgetFPhi (int area) const
 This function will return the feeding level of the predator on a given area. More...
 
const DoubleVectorgetMaxConsumption (int area) const
 This function will return the maximum consumption by length group of the predator on a given area. More...
 
int minAge () const
 This will return the minimum age of the predator. More...
 
int maxAge () const
 This will return the maximum age of the predator. More...
 
const AgeBandMatrixgetCurrentALK (int area) const
 This will return the population of the predator on a given area. More...
 
- Public Member Functions inherited from PopPredator
 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. More...
 
 PopPredator (const char *givenname, const IntVector &areas)
 This is the PopPredator constructor to create a predator without a specified length group. More...
 
virtual ~PopPredator ()
 This is the default PopPredator destructor. More...
 
virtual const PopInfoVectorgetConsumptionPopInfo (int area, const char *preyname) const
 This function will return the number of a prey on a specified area before the consumption calculation takes place. More...
 
virtual const PopInfoVectorgetPredatorNumber (int area) const
 This function will return the population number of the predator on a given area. More...
 
virtual const DoubleMatrixgetConsumption (int area, const char *preyname) const
 This will return the amount the predator consumes of a given prey on a given area. More...
 
virtual int hasOverConsumption (int area) const
 This will return the flag that denotes if the predator has overconsumed on a given area. More...
 
virtual const DoubleVectorgetOverConsumption (int area) const
 This will return the amount the predator overconsumes on a given area. More...
 
virtual double getTotalOverConsumption (int area) const
 This will return the total amount the predator overconsumes on a given area. More...
 
virtual const LengthGroupDivisiongetLengthGroupDiv () const
 This will return the length group information for the predator. More...
 
virtual double getConsumptionBiomass (int prey, int area) const
 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
 This will return the ratio used to split the predation between the areas and length groups. More...
 
const DoubleMatrixgetUseSuitability (int area, int prey) const
 This will return the suitability used by the predator for a given prey on a given area, adjusted to take any overconsumption into account. More...
 
void setPrey (PreyPtrVector &preyvec, Keeper *const keeper)
 This will select the preys that will be consumed by the predator. More...
 
- Public Member Functions inherited from Predator
 Predator (const char *givenname, const IntVector &Areas)
 This is the Predator constructor. More...
 
virtual ~Predator ()
 This is the default Predator destructor. 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 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
 
PreygetPrey (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 DoubleMatrixgetSuitability (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...
 
- Public Member Functions inherited from HasName
 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...
 
- Public Member Functions inherited from LivesOnAreas
 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...
 
IntVectorgetAreas ()
 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 Attributes

int functionnumber
 This is the identifier of the function to be used to calculate the maximum consumption. More...
 
FormulaVector consParam
 This is the FormulaVector used to store the consumption parameters. More...
 
DoubleMatrix Phi
 This is the DoubleMatrix used to store the sum of the feeding levels (over all preys) on the current timestep. More...
 
DoubleMatrix fphi
 This is the DoubleMatrix used to store the feeding level on the current timestep. More...
 
DoubleMatrix subfphi
 This is the DoubleMatrix used to store the feeding level on the current substep of the current timestep. More...
 
DoubleMatrix maxcons
 This is the DoubleMatrix used to store maximum consumption by predator length group on the current timestep. More...
 
AgeBandMatrixPtrVector predAlkeys
 This is the AgeBandMatrixPtrVector used to store information about the predator population. More...
 
- Protected Attributes inherited from PopPredator
LengthGroupDivisionLgrpDiv
 This is the LengthGroupDivision used to store length information. More...
 
ConversionIndexCI
 This is the ConversionIndexPtrVector used to convert to the lengths groups for the length-based predator. More...
 
PopInfoMatrix prednumber
 This is the PopInfoMatrix used to store information on the number of predators for the current timestep. More...
 
DoubleMatrix overconsumption
 This is the DoubleMatrix used to store information on the overconsumption by the predators on the current timestep. More...
 
DoubleMatrixPtrMatrix consumption
 This is the DoubleMatrixPtrMatrix used to store information on the consumption by the predators on the current timestep. More...
 
DoubleMatrix totalconsumption
 This is the DoubleMatrix used to store information on the total consumption by the predators on the current timestep. More...
 
DoubleMatrix overcons
 This is the DoubleMatrix used to store information on the overconsumption by the predators on the current substep of the current timestep. More...
 
DoubleMatrixPtrMatrix cons
 This is the DoubleMatrixPtrMatrix used to store information on the consumption by the predators on the current substep of the current timestep. More...
 
DoubleMatrix totalcons
 This is the DoubleMatrix used to store information on the total consumption by the predators on the current substep of the current timestep. More...
 
DoubleMatrixPtrVector predratio
 This is the DoubleMatrixPtrVector used to store the ratio used to split the predation between the areas and length groups. More...
 
DoubleMatrixPtrMatrix usesuit
 This is the DoubleMatrixPtrMatrix used to store suitability information for the predators on the current timestep, adjusted to take account of any overconsumption. More...
 
IntVector hasoverconsumption
 This is the IntVector used to store information on whether any overconsumption has occured on the current timestep. More...
 
- Protected Attributes inherited from Predator
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...
 
- Protected Attributes inherited from LivesOnAreas
IntVector areas
 This is the IntVector of internal areas that the object is defined on. More...
 

Additional Inherited Members

- Protected Member Functions inherited from Predator
void readSuitability (CommentStream &infile, const TimeClass *const TimeInfo, Keeper *const keeper)
 This function will read the suitability data from the input file. More...
 
- Protected Member Functions inherited from LivesOnAreas
void storeAreas (const IntVector &Areas)
 This function will store the internal areas to be used. More...
 

Detailed Description

This is the class used to model the predation by stocks.

Constructor & Destructor Documentation

◆ StockPredator()

StockPredator::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.

Parameters
infileis the CommentStream to read the predator information from
givennameis the name of the predator
Areasis the IntVector of the areas that the predator will live on
OtherLgrpDivis the LengthGroupDivision of the predator
GivenLgrpDivis the LengthGroupDivision that the predation will be calculated on
minageis the minimum age of the predator
numageis the number of age groups for the predator
TimeInfois the TimeClass for the current model
keeperis the Keeper for the current model

◆ ~StockPredator()

virtual StockPredator::~StockPredator ( )
inlinevirtual

This is the default StockPredator destructor.

Member Function Documentation

◆ adjustConsumption()

void StockPredator::adjustConsumption ( int  area,
const TimeClass *const  TimeInfo 
)
virtual

This will adjust the amount the predator consumes on a given area, to take oversconsumption into consideration.

Parameters
areais the area that the prey consumption is being calculated on
TimeInfois the TimeClass for the current model

Implements Predator.

◆ Eat()

void StockPredator::Eat ( int  area,
const AreaClass *const  Area,
const TimeClass *const  TimeInfo 
)
virtual

This will calculate the amount the predator consumes on a given area.

Parameters
areais the area that the prey consumption is being calculated on
Areais the AreaClass for the current model
TimeInfois the TimeClass for the current model

Implements Predator.

◆ getCurrentALK()

const AgeBandMatrix& StockPredator::getCurrentALK ( int  area) const
inline

This will return the population of the predator on a given area.

Parameters
areais the area that the consumption is being calculated on
Returns
alkeys, a AgeBandMatrix containing the population of the predator

◆ getFPhi()

const DoubleVector& StockPredator::getFPhi ( int  area) const
inline

This function will return the feeding level of the predator on a given area.

Parameters
areais the area that the prey consumption is being calculated on
Returns
fphi, a DoubleVector containing the feeding level of the predator

◆ getMaxConsumption()

const DoubleVector& StockPredator::getMaxConsumption ( int  area) const
inline

This function will return the maximum consumption by length group of the predator on a given area.

Parameters
areais the area that the prey consumption is being calculated on
Returns
maxconbylength, a DoubleVector containing the maximum consumption of the predator

◆ maxAge()

int StockPredator::maxAge ( ) const
inline

This will return the maximum age of the predator.

Returns
maximum age

◆ minAge()

int StockPredator::minAge ( ) const
inline

This will return the minimum age of the predator.

Returns
minimum age

◆ Print()

void StockPredator::Print ( ofstream &  outfile) const
virtual

This function will print the predator information.

Parameters
outfileis the ofstream that all the model information gets sent to

Reimplemented from PopPredator.

◆ Reset()

void StockPredator::Reset ( const TimeClass *const  TimeInfo)
virtual

This function will reset the predation information for the current model run.

Parameters
TimeInfois the TimeClass for the current model

Reimplemented from PopPredator.

◆ Sum()

void StockPredator::Sum ( const AgeBandMatrix stockAlkeys,
int  area 
)
virtual

This will calculate the amount of prey that is consumed by the predator on a given area.

Parameters
stockAlkeysis the AgeBandMatrix giving the amount of the stock in the area
areais the area that the prey consumption is being calculated on

Member Data Documentation

◆ consParam

FormulaVector StockPredator::consParam
protected

This is the FormulaVector used to store the consumption parameters.

◆ fphi

DoubleMatrix StockPredator::fphi
protected

This is the DoubleMatrix used to store the feeding level on the current timestep.

Note
The indices for this object are [area][predator length]

◆ functionnumber

int StockPredator::functionnumber
protected

This is the identifier of the function to be used to calculate the maximum consumption.

◆ maxcons

DoubleMatrix StockPredator::maxcons
protected

This is the DoubleMatrix used to store maximum consumption by predator length group on the current timestep.

Note
The indices for this object are [area][predator length]

◆ Phi

DoubleMatrix StockPredator::Phi
protected

This is the DoubleMatrix used to store the sum of the feeding levels (over all preys) on the current timestep.

Note
The indices for this object are [area][predator length]

◆ predAlkeys

AgeBandMatrixPtrVector StockPredator::predAlkeys
protected

This is the AgeBandMatrixPtrVector used to store information about the predator population.

Note
The indices for this object are [area][predator age][predator length]

◆ subfphi

DoubleMatrix StockPredator::subfphi
protected

This is the DoubleMatrix used to store the feeding level on the current substep of the current timestep.

Note
The indices for this object are [area][predator length]

The documentation for this class was generated from the following files: