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

This is the class used to model the predation of stocks by a fleet that will catch a proportion of the available biomass, according to a specified management catch-quota rule. More...

#include <quotapredator.h>

Inheritance diagram for QuotaPredator:
Inheritance graph
Collaboration diagram for QuotaPredator:
Collaboration graph

Public Member Functions

 QuotaPredator (CommentStream &infile, const char *givenname, const IntVector &Areas, const TimeClass *const TimeInfo, Keeper *const keeper, Formula multscaler)
 This is the QuotaPredator constructor. More...
 
virtual ~QuotaPredator ()
 This is the default QuotaPredator 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 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 Print (ofstream &outfile) const
 This function will print the predator information. More...
 
- Public Member Functions inherited from LengthPredator
 LengthPredator (const char *givenname, const IntVector &Areas, const TimeClass *const TimeInfo, Keeper *const keeper, Formula multscaler)
 This is the LengthPredator constructor. More...
 
virtual ~LengthPredator ()
 This is the default LengthPredator destructor. More...
 
virtual void Sum (const PopInfoVector &NumberInArea, int area)
 This will calculate the amount of prey that is consumed by the predator. More...
 
double getMultScaler () const
 This will return the multiplicative value used scale the catch. More...
 
virtual void setTimeMultiplier (const TimeClass *const TimeInfo, int quotastep, double value)
 This is a multiplier set in lengthpredator.
More...
 
virtual void Reset (const TimeClass *const TimeInfo)
 This function will reset the predation information. 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 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 Member Functions

double calcQuota (double biomass)
 This function will calculate the quota based on the current biomass level of the prey. More...
 
- 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...
 

Protected Attributes

int functionnumber
 This is the identifier of the function to be used to calculate the fishing quota. More...
 
char * functionname
 This is the name of the function to be used to calculate the fishing quota. More...
 
DoubleVector biomasslevel
 This is the DoubleVector used to store the stock biomass levels. More...
 
FormulaVector quotalevel
 This is the FormulaVector used to store the fishing quota levels. More...
 
DoubleVector calcquota
 This is the DoubleVector used to store the calculated fishing quota. More...
 
IntVector selectprey
 This is the IntVector used to flag which preys are used to calculate the fishing quota levels. More...
 
- Protected Attributes inherited from LengthPredator
Formula multi
 This is the multiplicative constant that can be used to scale the biomass consumed. More...
 
DoubleVector timeMultiplier
 
- 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...
 

Detailed Description

This is the class used to model the predation of stocks by a fleet that will catch a proportion of the available biomass, according to a specified management catch-quota rule.

Constructor & Destructor Documentation

◆ QuotaPredator()

QuotaPredator::QuotaPredator ( CommentStream infile,
const char *  givenname,
const IntVector Areas,
const TimeClass *const  TimeInfo,
Keeper *const  keeper,
Formula  multscaler 
)

This is the QuotaPredator constructor.

Parameters
infileis the CommentStream to read the predation parameters from
givennameis the name of the predator
Areasis the IntVector of areas that the predator lives on
TimeInfois the TimeClass for the current model
keeperis the Keeper for the current model
multscaleris the Formula that can be used to scale the biomass consumed

◆ ~QuotaPredator()

QuotaPredator::~QuotaPredator ( )
virtual

This is the default QuotaPredator destructor.

Member Function Documentation

◆ adjustConsumption()

void QuotaPredator::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.

◆ calcQuota()

double QuotaPredator::calcQuota ( double  biomass)
protected

This function will calculate the quota based on the current biomass level of the prey.

Parameters
biomassis the available biomass of the prey
Returns
calculated quota

◆ Eat()

void QuotaPredator::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.

◆ Print()

void QuotaPredator::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.

Member Data Documentation

◆ biomasslevel

DoubleVector QuotaPredator::biomasslevel
protected

This is the DoubleVector used to store the stock biomass levels.

◆ calcquota

DoubleVector QuotaPredator::calcquota
protected

This is the DoubleVector used to store the calculated fishing quota.

◆ functionname

char* QuotaPredator::functionname
protected

This is the name of the function to be used to calculate the fishing quota.

◆ functionnumber

int QuotaPredator::functionnumber
protected

This is the identifier of the function to be used to calculate the fishing quota.

◆ quotalevel

FormulaVector QuotaPredator::quotalevel
protected

This is the FormulaVector used to store the fishing quota levels.

◆ selectprey

IntVector QuotaPredator::selectprey
protected

This is the IntVector used to flag which preys are used to calculate the fishing quota levels.


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