--- trunk/gadget/growthcalc.h 2014/02/10 17:09:07 1 +++ trunk/gadget/growthcalc.h 2015/04/30 17:32:47 4 @@ -9,6 +9,7 @@ #include "livesonareas.h" #include "modelvariablevector.h" #include "keeper.h" +#include "matrix.h" /** * \class GrowthCalcBase @@ -26,6 +27,7 @@ * \brief This is the default GrowthCalcBase destructor */ ~GrowthCalcBase() {}; + //FIXME doc /** * \brief This is the function that calculates the growth * \param area is the area that the growth is being calculated on @@ -39,10 +41,15 @@ * \param LgrpDiv is the LengthGroupDivision of the stock * \note This will be overridden by the derived classes that actually calculate the growth */ - 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; +// 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; + + virtual void calcGrowth(int area, double* Lgrowth, double* Wgrowth, + const PopInfoVector& numGrow, const AreaClass* const Area, + const TimeClass* const TimeInfo, const DoubleVector& Fphi, + const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv, int size) = 0; /** * \brief This will return the power term of the length - weight relationship * \return 0 (will be overridden in derived classes) @@ -86,10 +93,15 @@ * \param MaxCon is the DoubleVector of the maximum consumption of the stock * \param LgrpDiv is the LengthGroupDivision of the stock */ - 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); +// 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); + + virtual void calcGrowth(int area, double* Lgrowth, double* Wgrowth, + const PopInfoVector& numGrow, const AreaClass* const Area, + const TimeClass* const TimeInfo, const DoubleVector& Fphi, + const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv, int size); protected: /** * \brief This is the number of growth parameters (set to 9) @@ -134,10 +146,15 @@ * \param MaxCon is the DoubleVector of the maximum consumption of the stock * \param LgrpDiv is the LengthGroupDivision of the stock */ - 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); +// 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); + + virtual void calcGrowth(int area, double* Lgrowth, double* Wgrowth, + const PopInfoVector& numGrow, const AreaClass* const Area, + const TimeClass* const TimeInfo, const DoubleVector& Fphi, + const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv, int size); protected: /** * \brief This is the FormulaMatrixPtrVector of increase in length for each length group @@ -182,10 +199,15 @@ * \param MaxCon is the DoubleVector of the maximum consumption of the stock * \param LgrpDiv is the LengthGroupDivision of the stock */ - 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); +// 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); + + virtual void calcGrowth(int area, double* Lgrowth, double* Wgrowth, + const PopInfoVector& numGrow, const AreaClass* const Area, + const TimeClass* const TimeInfo, const DoubleVector& Fphi, + const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv, int size); /** * \brief This will return the power term of the length - weight relationship * \return lgrowthPar[7] @@ -252,10 +274,15 @@ * \param MaxCon is the DoubleVector of the maximum consumption of the stock * \param LgrpDiv is the LengthGroupDivision of the stock */ - 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); +// 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); + + virtual void calcGrowth(int area, double* Lgrowth, double* Wgrowth, + const PopInfoVector& numGrow, const AreaClass* const Area, + const TimeClass* const TimeInfo, const DoubleVector& Fphi, + const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv, int size); /** * \brief This will return the power term of the length - weight relationship * \return lgrowthPar[7] @@ -322,10 +349,15 @@ * \param MaxCon is the DoubleVector of the maximum consumption of the stock * \param LgrpDiv is the LengthGroupDivision of the stock */ - 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); +// 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); + + virtual void calcGrowth(int area, double* Lgrowth, double* Wgrowth, + const PopInfoVector& numGrow, const AreaClass* const Area, + const TimeClass* const TimeInfo, const DoubleVector& Fphi, + const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv, int size); /** * \brief This will return the power term of the length - weight relationship * \return lgrowthPar[7] @@ -404,10 +436,15 @@ * \param MaxCon is the DoubleVector of the maximum consumption of the stock * \param LgrpDiv is the LengthGroupDivision of the stock */ - 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); +// 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); + + virtual void calcGrowth(int area, double* Lgrowth, double* Wgrowth, + const PopInfoVector& numGrow, const AreaClass* const Area, + const TimeClass* const TimeInfo, const DoubleVector& Fphi, + const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv, int size); protected: /** * \brief This is the number of growth parameters (set to 2) @@ -456,10 +493,15 @@ * \param MaxCon is the DoubleVector of the maximum consumption of the stock * \param LgrpDiv is the LengthGroupDivision of the stock */ - 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); +// 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); + + virtual void calcGrowth(int area, double* Lgrowth, double* Wgrowth, + const PopInfoVector& numGrow, const AreaClass* const Area, + const TimeClass* const TimeInfo, const DoubleVector& Fphi, + const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv, int size); protected: /** * \brief This is the number of growth parameters (set to 2) @@ -506,10 +548,17 @@ * \param MaxCon is the DoubleVector of the maximum consumption of the stock * \param LgrpDiv is the LengthGroupDivision of the stock */ - 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); +// 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); + + + virtual void calcGrowth(int area, double* Lgrowth, double* Wgrowth, + const PopInfoVector& numGrow, const AreaClass* const Area, + const TimeClass* const TimeInfo, const DoubleVector& Fphi, + const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv, int size); + /** * \brief This will return the power term of the length - weight relationship * \return growthPar[3] @@ -562,10 +611,15 @@ * \param MaxCon is the DoubleVector of the maximum consumption of the stock * \param LgrpDiv is the LengthGroupDivision of the stock */ - 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); +// 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); + + virtual void calcGrowth(int area, double* Lgrowth, double* Wgrowth, + const PopInfoVector& numGrow, const AreaClass* const Area, + const TimeClass* const TimeInfo, const DoubleVector& Fphi, + const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv, int size); /** * \brief This will return the power term of the length - weight relationship * \return growthPar[4] @@ -618,10 +672,16 @@ * \param MaxCon is the DoubleVector of the maximum consumption of the stock * \param LgrpDiv is the LengthGroupDivision of the stock */ - 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); +// 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); + + + virtual void calcGrowth(int area, double* Lgrowth, double* Wgrowth, + const PopInfoVector& numGrow, const AreaClass* const Area, + const TimeClass* const TimeInfo, const DoubleVector& Fphi, + const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv, int size); /** * \brief This will return the power term of the length - weight relationship * \return growthPar[4] @@ -674,10 +734,15 @@ * \param MaxCon is the DoubleVector of the maximum consumption of the stock * \param LgrpDiv is the LengthGroupDivision of the stock */ - 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); +// 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); + + virtual void calcGrowth(int area, double* Lgrowth, double* Wgrowth, + const PopInfoVector& numGrow, const AreaClass* const Area, + const TimeClass* const TimeInfo, const DoubleVector& Fphi, + const DoubleVector& MaxCon, const LengthGroupDivision* const LgrpDiv, int size); /** * \brief This will return the power term of the length - weight relationship * \return growthPar[4]