Gadget
migrationproportion.h
Go to the documentation of this file.
1 #ifndef migrationproportion_h
2 #define migrationproportion_h
3 
4 #include "likelihood.h"
5 #include "intmatrix.h"
6 #include "doublematrix.h"
7 #include "actionattimes.h"
8 #include "charptrvector.h"
9 #include "stockptrvector.h"
10 
18 public:
27  MigrationProportion(CommentStream& infile, const AreaClass* const Area,
28  const TimeClass* const TimeInfo, double weight, const char* name);
32  virtual ~MigrationProportion();
37  virtual void addLikelihood(const TimeClass* const TimeInfo);
42  virtual void Reset(const Keeper* const keeper);
47  virtual void Print(ofstream& outfile) const;
53  void setFleetsAndStocks(FleetPtrVector& Fleets, StockPtrVector& Stocks);
59  virtual void printLikelihood(ofstream& outfile, const TimeClass* const TimeInfo);
64  virtual void printSummary(ofstream& outfile);
65 private:
72  void readProportionData(CommentStream& infile, const TimeClass* TimeInfo, int numarea);
78  double calcLikSumSquares(const TimeClass* const TimeInfo);
83  DoubleMatrix obsDistribution;
88  DoubleMatrix modelDistribution;
93  DoubleVector likelihoodValues;
97  CharPtrVector stocknames;
101  IntMatrix areas;
105  CharPtrVector areaindex;
109  int functionnumber;
113  char* functionname;
117  int biomass;
121  int timeindex;
125  ActionAtTimes AAT;
129  IntVector Years;
133  IntVector Steps;
137  StockPtrVector stocks;
138 };
139 
140 #endif
This is the class used to associate actions with specific timesteps within the model.
Definition: actionattimes.h:14
This is the class used to store information about the areas used for the current model.
Definition: areatime.h:18
This class implements a dynamic vector of char values.
Definition: charptrvector.h:8
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 DoubleVector values.
Definition: doublematrix.h:11
This class implements a dynamic vector of double values.
Definition: doublevector.h:11
This class implements a dynamic vector of Fleet values.
Definition: fleetptrvector.h:10
This class implements a dynamic vector of IntVector values.
Definition: intmatrix.h:10
This class implements a dynamic vector of int values.
Definition: intvector.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 base class used to calculate the likelihood scores used to compare the modelled data in t...
Definition: likelihood.h:24
double weight
This stores the weight to be applied to the likelihood component.
Definition: likelihood.h:112
This is the class used to calculate a likelihood score based on the biomass of stocks caught by fleet...
Definition: migrationproportion.h:17
virtual void printSummary(ofstream &outfile)
This function will print summary information from each MigrationProportion likelihood calculation.
Definition: migrationproportion.cc:323
MigrationProportion(CommentStream &infile, const AreaClass *const Area, const TimeClass *const TimeInfo, double weight, const char *name)
This is the MigrationProportion constructor.
Definition: migrationproportion.cc:14
void setFleetsAndStocks(FleetPtrVector &Fleets, StockPtrVector &Stocks)
This will select the fleets and stocks required to calculate the MigrationProportion likelihood score...
Definition: migrationproportion.cc:221
virtual void printLikelihood(ofstream &outfile, const TimeClass *const TimeInfo)
This function will print information from each MigrationProportion calculation.
Definition: migrationproportion.cc:195
virtual ~MigrationProportion()
This is the default MigrationProportion destructor.
Definition: migrationproportion.cc:166
virtual void Print(ofstream &outfile) const
This function will print the summary MigrationProportion likelihood information.
Definition: migrationproportion.cc:185
virtual void Reset(const Keeper *const keeper)
This function will reset the MigrationProportion likelihood information.
Definition: migrationproportion.cc:175
virtual void addLikelihood(const TimeClass *const TimeInfo)
This function will calculate the likelihood score for the MigrationProportion component.
Definition: migrationproportion.cc:254
This class implements a dynamic vector of Stock values.
Definition: stockptrvector.h:10
This is the class used to store information about the timesteps used for the current model.
Definition: areatime.h:87