1 : |
agomez |
1 |
#ifndef agebandmatrixratio_h
|
2 : |
|
|
#define agebandmatrixratio_h
|
3 : |
|
|
|
4 : |
|
|
#include "popratio.h" |
5 : |
|
|
#include "lengthgroup.h" |
6 : |
|
|
#include "popratiomatrix.h" |
7 : |
|
|
#include "popratioindexvector.h" |
8 : |
|
|
#include "agebandmatrix.h" |
9 : |
|
|
#include "agebandmatrixptrvector.h" |
10 : |
|
|
#include "charptrvector.h" |
11 : |
|
|
#include "gadget.h" |
12 : |
|
|
|
13 : |
|
|
class Maturity;
|
14 : |
|
|
|
15 : |
|
|
class AgeBandMatrixRatio {
|
16 : |
|
|
public:
|
17 : |
|
|
AgeBandMatrixRatio(int age, const IntVector& minl, const IntVector& size);
|
18 : |
|
|
AgeBandMatrixRatio(int age, const PopRatioMatrix& initial);
|
19 : |
|
|
AgeBandMatrixRatio(int age, const PopRatioIndexVector& initial);
|
20 : |
|
|
AgeBandMatrixRatio(const AgeBandMatrixRatio& initial);
|
21 : |
|
|
AgeBandMatrixRatio() { minage = 0; nrow = 0; v = 0; };
|
22 : |
|
|
~AgeBandMatrixRatio();
|
23 : |
|
|
int minAge() const { return minage; };
|
24 : |
|
|
int maxAge() const { return minage + nrow - 1; };
|
25 : |
|
|
int Nrow() const { return nrow; };
|
26 : |
|
|
int minLength(int age) const { return v[age - minage]->minCol(); };
|
27 : |
|
|
int maxLength(int age) const { return v[age - minage]->maxCol(); };
|
28 : |
|
|
void IncrementAge(const AgeBandMatrix& Total);
|
29 : |
ulcessvp |
4 |
void Grow(const Matrix& Lgrowth, const AgeBandMatrix& Total);
|
30 : |
|
|
void Grow(const Matrix& Lgrowth, const AgeBandMatrix& Total, Maturity* const Mat, int area);
|
31 : |
agomez |
1 |
PopRatioIndexVector& operator [] (int age) { return *(v[age - minage]); };
|
32 : |
|
|
const PopRatioIndexVector& operator [] (int age) const { return *(v[age - minage]); };
|
33 : |
|
|
void updateRatio(const AgeBandMatrix& Total);
|
34 : |
|
|
void updateNumbers(const AgeBandMatrix& Total);
|
35 : |
|
|
void updateAndTagLoss(const AgeBandMatrix& Total, const DoubleVector& tagloss);
|
36 : |
|
|
int numTagExperiments() const;
|
37 : |
|
|
void setToZero();
|
38 : |
|
|
protected:
|
39 : |
|
|
int minage;
|
40 : |
|
|
int nrow;
|
41 : |
|
|
PopRatioIndexVector** v;
|
42 : |
|
|
};
|
43 : |
|
|
|
44 : |
|
|
#endif
|