30 |
/** |
/** |
31 |
* \brief This is the function that calculates the growth |
* \brief This is the function that calculates the growth |
32 |
* \param area is the area that the growth is being calculated on |
* \param area is the area that the growth is being calculated on |
33 |
* \param Lgrowth is the DoubleVector of the mean length increase for each length group of the stock |
* \param Lgrowth is the Matrix of doubles of the mean length increase for each length group of the stock |
34 |
* \param Wgrowth is the DoubleVector of the mean weight increase for each length group of the stock |
* \param Wgrowth is the Matrix of doubles of the mean weight increase for each length group of the stock |
35 |
* \param numGrow is the PopInfoVector of the current population of the stock |
* \param numGrow is the PopInfoVector of the current population of the stock |
36 |
* \param Area is the AreaClass for the current model |
* \param Area is the AreaClass for the current model |
37 |
* \param TimeInfo is the TimeClass for the current model |
* \param TimeInfo is the TimeClass for the current model |
38 |
* \param Fphi is the DoubleVector of the feeding level of the stock |
* \param Fphi is the DoubleVector of the feeding level of the stock |
39 |
* \param MaxCon is the DoubleVector of the maximum consumption of the stock |
* \param MaxCon is the DoubleVector of the maximum consumption of the stock |
40 |
* \param LgrpDiv is the LengthGroupDivision of the stock |
* \param LgrpDiv is the LengthGroupDivision of the stock |
41 |
|
* \param size is the number of columns of the Matrix |
42 |
* \note This will be overridden by the derived classes that actually calculate the growth |
* \note This will be overridden by the derived classes that actually calculate the growth |
43 |
*/ |
*/ |
|
virtual void calcGrowth(int area, DoubleVector& Lgrowth, DoubleVector& Wgrowth, |
|
|
const PopInfoVector& numGrow, const AreaClass* const Area, |
|
|
const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
|
|
const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv) = 0; |
|
|
|
|
44 |
virtual void calcGrowth(int area, double* Lgrowth, double* Wgrowth, |
virtual void calcGrowth(int area, double* Lgrowth, double* Wgrowth, |
45 |
const PopInfoVector& numGrow, const AreaClass* const Area, |
const PopInfoVector& numGrow, const AreaClass* const Area, |
46 |
const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
88 |
* \param MaxCon is the DoubleVector of the maximum consumption of the stock |
* \param MaxCon is the DoubleVector of the maximum consumption of the stock |
89 |
* \param LgrpDiv is the LengthGroupDivision of the stock |
* \param LgrpDiv is the LengthGroupDivision of the stock |
90 |
*/ |
*/ |
91 |
virtual void calcGrowth(int area, DoubleVector& Lgrowth, DoubleVector& Wgrowth, |
// virtual void calcGrowth(int area, DoubleVector& Lgrowth, DoubleVector& Wgrowth, |
92 |
const PopInfoVector& numGrow, const AreaClass* const Area, |
// const PopInfoVector& numGrow, const AreaClass* const Area, |
93 |
const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
// const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
94 |
const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv); |
// const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv); |
95 |
|
|
96 |
virtual void calcGrowth(int area, double* Lgrowth, double* Wgrowth, |
virtual void calcGrowth(int area, double* Lgrowth, double* Wgrowth, |
97 |
const PopInfoVector& numGrow, const AreaClass* const Area, |
const PopInfoVector& numGrow, const AreaClass* const Area, |
98 |
const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
99 |
const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv, int size) {}; |
const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv, int size); |
100 |
protected: |
protected: |
101 |
/** |
/** |
102 |
* \brief This is the number of growth parameters (set to 9) |
* \brief This is the number of growth parameters (set to 9) |
141 |
* \param MaxCon is the DoubleVector of the maximum consumption of the stock |
* \param MaxCon is the DoubleVector of the maximum consumption of the stock |
142 |
* \param LgrpDiv is the LengthGroupDivision of the stock |
* \param LgrpDiv is the LengthGroupDivision of the stock |
143 |
*/ |
*/ |
144 |
virtual void calcGrowth(int area, DoubleVector& Lgrowth, DoubleVector& Wgrowth, |
// virtual void calcGrowth(int area, DoubleVector& Lgrowth, DoubleVector& Wgrowth, |
145 |
const PopInfoVector& numGrow, const AreaClass* const Area, |
// const PopInfoVector& numGrow, const AreaClass* const Area, |
146 |
const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
// const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
147 |
const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv); |
// const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv); |
148 |
|
|
149 |
virtual void calcGrowth(int area, double* Lgrowth, double* Wgrowth, |
virtual void calcGrowth(int area, double* Lgrowth, double* Wgrowth, |
150 |
const PopInfoVector& numGrow, const AreaClass* const Area, |
const PopInfoVector& numGrow, const AreaClass* const Area, |
151 |
const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
152 |
const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv, int size) {}; |
const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv, int size); |
153 |
protected: |
protected: |
154 |
/** |
/** |
155 |
* \brief This is the FormulaMatrixPtrVector of increase in length for each length group |
* \brief This is the FormulaMatrixPtrVector of increase in length for each length group |
194 |
* \param MaxCon is the DoubleVector of the maximum consumption of the stock |
* \param MaxCon is the DoubleVector of the maximum consumption of the stock |
195 |
* \param LgrpDiv is the LengthGroupDivision of the stock |
* \param LgrpDiv is the LengthGroupDivision of the stock |
196 |
*/ |
*/ |
197 |
virtual void calcGrowth(int area, DoubleVector& Lgrowth, DoubleVector& Wgrowth, |
// virtual void calcGrowth(int area, DoubleVector& Lgrowth, DoubleVector& Wgrowth, |
198 |
const PopInfoVector& numGrow, const AreaClass* const Area, |
// const PopInfoVector& numGrow, const AreaClass* const Area, |
199 |
const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
// const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
200 |
const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv); |
// const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv); |
201 |
|
|
202 |
virtual void calcGrowth(int area, double* Lgrowth, double* Wgrowth, |
virtual void calcGrowth(int area, double* Lgrowth, double* Wgrowth, |
203 |
const PopInfoVector& numGrow, const AreaClass* const Area, |
const PopInfoVector& numGrow, const AreaClass* const Area, |
204 |
const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
205 |
const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv, int size) {}; |
const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv, int size); |
206 |
/** |
/** |
207 |
* \brief This will return the power term of the length - weight relationship |
* \brief This will return the power term of the length - weight relationship |
208 |
* \return lgrowthPar[7] |
* \return lgrowthPar[7] |
269 |
* \param MaxCon is the DoubleVector of the maximum consumption of the stock |
* \param MaxCon is the DoubleVector of the maximum consumption of the stock |
270 |
* \param LgrpDiv is the LengthGroupDivision of the stock |
* \param LgrpDiv is the LengthGroupDivision of the stock |
271 |
*/ |
*/ |
272 |
virtual void calcGrowth(int area, DoubleVector& Lgrowth, DoubleVector& Wgrowth, |
// virtual void calcGrowth(int area, DoubleVector& Lgrowth, DoubleVector& Wgrowth, |
273 |
const PopInfoVector& numGrow, const AreaClass* const Area, |
// const PopInfoVector& numGrow, const AreaClass* const Area, |
274 |
const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
// const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
275 |
const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv); |
// const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv); |
276 |
|
|
277 |
virtual void calcGrowth(int area, double* Lgrowth, double* Wgrowth, |
virtual void calcGrowth(int area, double* Lgrowth, double* Wgrowth, |
278 |
const PopInfoVector& numGrow, const AreaClass* const Area, |
const PopInfoVector& numGrow, const AreaClass* const Area, |
279 |
const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
280 |
const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv, int size) {}; |
const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv, int size); |
281 |
/** |
/** |
282 |
* \brief This will return the power term of the length - weight relationship |
* \brief This will return the power term of the length - weight relationship |
283 |
* \return lgrowthPar[7] |
* \return lgrowthPar[7] |
344 |
* \param MaxCon is the DoubleVector of the maximum consumption of the stock |
* \param MaxCon is the DoubleVector of the maximum consumption of the stock |
345 |
* \param LgrpDiv is the LengthGroupDivision of the stock |
* \param LgrpDiv is the LengthGroupDivision of the stock |
346 |
*/ |
*/ |
347 |
virtual void calcGrowth(int area, DoubleVector& Lgrowth, DoubleVector& Wgrowth, |
// virtual void calcGrowth(int area, DoubleVector& Lgrowth, DoubleVector& Wgrowth, |
348 |
const PopInfoVector& numGrow, const AreaClass* const Area, |
// const PopInfoVector& numGrow, const AreaClass* const Area, |
349 |
const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
// const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
350 |
const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv); |
// const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv); |
351 |
|
|
352 |
virtual void calcGrowth(int area, double* Lgrowth, double* Wgrowth, |
virtual void calcGrowth(int area, double* Lgrowth, double* Wgrowth, |
353 |
const PopInfoVector& numGrow, const AreaClass* const Area, |
const PopInfoVector& numGrow, const AreaClass* const Area, |
354 |
const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
355 |
const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv, int size) {}; |
const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv, int size); |
356 |
/** |
/** |
357 |
* \brief This will return the power term of the length - weight relationship |
* \brief This will return the power term of the length - weight relationship |
358 |
* \return lgrowthPar[7] |
* \return lgrowthPar[7] |
431 |
* \param MaxCon is the DoubleVector of the maximum consumption of the stock |
* \param MaxCon is the DoubleVector of the maximum consumption of the stock |
432 |
* \param LgrpDiv is the LengthGroupDivision of the stock |
* \param LgrpDiv is the LengthGroupDivision of the stock |
433 |
*/ |
*/ |
434 |
virtual void calcGrowth(int area, DoubleVector& Lgrowth, DoubleVector& Wgrowth, |
// virtual void calcGrowth(int area, DoubleVector& Lgrowth, DoubleVector& Wgrowth, |
435 |
const PopInfoVector& numGrow, const AreaClass* const Area, |
// const PopInfoVector& numGrow, const AreaClass* const Area, |
436 |
const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
// const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
437 |
const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv); |
// const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv); |
438 |
|
|
439 |
virtual void calcGrowth(int area, double* Lgrowth, double* Wgrowth, |
virtual void calcGrowth(int area, double* Lgrowth, double* Wgrowth, |
440 |
const PopInfoVector& numGrow, const AreaClass* const Area, |
const PopInfoVector& numGrow, const AreaClass* const Area, |
441 |
const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
442 |
const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv, int size) {}; |
const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv, int size); |
443 |
protected: |
protected: |
444 |
/** |
/** |
445 |
* \brief This is the number of growth parameters (set to 2) |
* \brief This is the number of growth parameters (set to 2) |
488 |
* \param MaxCon is the DoubleVector of the maximum consumption of the stock |
* \param MaxCon is the DoubleVector of the maximum consumption of the stock |
489 |
* \param LgrpDiv is the LengthGroupDivision of the stock |
* \param LgrpDiv is the LengthGroupDivision of the stock |
490 |
*/ |
*/ |
491 |
virtual void calcGrowth(int area, DoubleVector& Lgrowth, DoubleVector& Wgrowth, |
// virtual void calcGrowth(int area, DoubleVector& Lgrowth, DoubleVector& Wgrowth, |
492 |
const PopInfoVector& numGrow, const AreaClass* const Area, |
// const PopInfoVector& numGrow, const AreaClass* const Area, |
493 |
const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
// const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
494 |
const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv); |
// const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv); |
495 |
|
|
496 |
virtual void calcGrowth(int area, double* Lgrowth, double* Wgrowth, |
virtual void calcGrowth(int area, double* Lgrowth, double* Wgrowth, |
497 |
const PopInfoVector& numGrow, const AreaClass* const Area, |
const PopInfoVector& numGrow, const AreaClass* const Area, |
498 |
const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
499 |
const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv, int size) {}; |
const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv, int size); |
500 |
protected: |
protected: |
501 |
/** |
/** |
502 |
* \brief This is the number of growth parameters (set to 2) |
* \brief This is the number of growth parameters (set to 2) |
543 |
* \param MaxCon is the DoubleVector of the maximum consumption of the stock |
* \param MaxCon is the DoubleVector of the maximum consumption of the stock |
544 |
* \param LgrpDiv is the LengthGroupDivision of the stock |
* \param LgrpDiv is the LengthGroupDivision of the stock |
545 |
*/ |
*/ |
546 |
virtual void calcGrowth(int area, DoubleVector& Lgrowth, DoubleVector& Wgrowth, |
// virtual void calcGrowth(int area, DoubleVector& Lgrowth, DoubleVector& Wgrowth, |
547 |
const PopInfoVector& numGrow, const AreaClass* const Area, |
// const PopInfoVector& numGrow, const AreaClass* const Area, |
548 |
const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
// const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
549 |
const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv); |
// const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv); |
550 |
|
|
551 |
|
|
552 |
virtual void calcGrowth(int area, double* Lgrowth, double* Wgrowth, |
virtual void calcGrowth(int area, double* Lgrowth, double* Wgrowth, |
606 |
* \param MaxCon is the DoubleVector of the maximum consumption of the stock |
* \param MaxCon is the DoubleVector of the maximum consumption of the stock |
607 |
* \param LgrpDiv is the LengthGroupDivision of the stock |
* \param LgrpDiv is the LengthGroupDivision of the stock |
608 |
*/ |
*/ |
609 |
virtual void calcGrowth(int area, DoubleVector& Lgrowth, DoubleVector& Wgrowth, |
// virtual void calcGrowth(int area, DoubleVector& Lgrowth, DoubleVector& Wgrowth, |
610 |
const PopInfoVector& numGrow, const AreaClass* const Area, |
// const PopInfoVector& numGrow, const AreaClass* const Area, |
611 |
const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
// const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
612 |
const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv); |
// const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv); |
613 |
|
|
614 |
virtual void calcGrowth(int area, double* Lgrowth, double* Wgrowth, |
virtual void calcGrowth(int area, double* Lgrowth, double* Wgrowth, |
615 |
const PopInfoVector& numGrow, const AreaClass* const Area, |
const PopInfoVector& numGrow, const AreaClass* const Area, |
616 |
const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
617 |
const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv, int size) {}; |
const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv, int size); |
618 |
/** |
/** |
619 |
* \brief This will return the power term of the length - weight relationship |
* \brief This will return the power term of the length - weight relationship |
620 |
* \return growthPar[4] |
* \return growthPar[4] |
667 |
* \param MaxCon is the DoubleVector of the maximum consumption of the stock |
* \param MaxCon is the DoubleVector of the maximum consumption of the stock |
668 |
* \param LgrpDiv is the LengthGroupDivision of the stock |
* \param LgrpDiv is the LengthGroupDivision of the stock |
669 |
*/ |
*/ |
670 |
virtual void calcGrowth(int area, DoubleVector& Lgrowth, DoubleVector& Wgrowth, |
// virtual void calcGrowth(int area, DoubleVector& Lgrowth, DoubleVector& Wgrowth, |
671 |
const PopInfoVector& numGrow, const AreaClass* const Area, |
// const PopInfoVector& numGrow, const AreaClass* const Area, |
672 |
const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
// const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
673 |
const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv); |
// const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv); |
674 |
|
|
675 |
|
|
676 |
virtual void calcGrowth(int area, double* Lgrowth, double* Wgrowth, |
virtual void calcGrowth(int area, double* Lgrowth, double* Wgrowth, |
677 |
const PopInfoVector& numGrow, const AreaClass* const Area, |
const PopInfoVector& numGrow, const AreaClass* const Area, |
678 |
const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
679 |
const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv, int size) {}; |
const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv, int size); |
680 |
/** |
/** |
681 |
* \brief This will return the power term of the length - weight relationship |
* \brief This will return the power term of the length - weight relationship |
682 |
* \return growthPar[4] |
* \return growthPar[4] |
729 |
* \param MaxCon is the DoubleVector of the maximum consumption of the stock |
* \param MaxCon is the DoubleVector of the maximum consumption of the stock |
730 |
* \param LgrpDiv is the LengthGroupDivision of the stock |
* \param LgrpDiv is the LengthGroupDivision of the stock |
731 |
*/ |
*/ |
732 |
virtual void calcGrowth(int area, DoubleVector& Lgrowth, DoubleVector& Wgrowth, |
// virtual void calcGrowth(int area, DoubleVector& Lgrowth, DoubleVector& Wgrowth, |
733 |
const PopInfoVector& numGrow, const AreaClass* const Area, |
// const PopInfoVector& numGrow, const AreaClass* const Area, |
734 |
const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
// const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
735 |
const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv); |
// const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv); |
736 |
|
|
737 |
virtual void calcGrowth(int area, double* Lgrowth, double* Wgrowth, |
virtual void calcGrowth(int area, double* Lgrowth, double* Wgrowth, |
738 |
const PopInfoVector& numGrow, const AreaClass* const Area, |
const PopInfoVector& numGrow, const AreaClass* const Area, |
739 |
const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
const TimeClass* const TimeInfo, const DoubleVector& Fphi, |
740 |
const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv, int size) {}; |
const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv, int size); |
741 |
/** |
/** |
742 |
* \brief This will return the power term of the length - weight relationship |
* \brief This will return the power term of the length - weight relationship |
743 |
* \return growthPar[4] |
* \return growthPar[4] |