00001 //--------------------------------------------------------------------------- 00002 // LognormalGrowth 00003 //--------------------------------------------------------------------------- 00004 #if !defined(LognormalGrowth_H) 00005 #define LognormalGrowth_H 00006 00007 #include "GrowthBase.h" 00008 00046 class clLognormalGrowth : virtual public clGrowthBase { 00047 //note: need the virtual keyword to avoid base class ambiguity. 00048 00049 public: 00050 00054 clLognormalGrowth(clSimManager *p_oSimManager); 00055 00059 ~clLognormalGrowth(); 00060 00074 float CalcHeightGrowthValue(clTree *p_oTree, clTreePopulation *p_oPop, float fDiameterGrowth); 00075 00089 float CalcDiameterGrowthValue(clTree *p_oTree, clTreePopulation *p_oPop, float fHeightGrowth); 00090 00099 void DoShellSetup(xercesc::DOMDocument *p_oDoc); 00100 00109 void SetNameData(char *cNameString); 00110 00111 00112 protected: 00113 00115 float *mp_fIncAtDiam36; 00116 00118 float *mp_fShape; 00119 00121 float *mp_fShade; 00122 00124 short int *mp_iIndexes; 00125 00128 float m_fConversionFactor; 00129 00131 float m_fNumberOfYearsPerTimestep; 00132 00143 inline float CalculateFunctionValue(int iSpecies, float fGLI, float fDiam); 00144 }; 00145 //--------------------------------------------------------------------------- 00146 #endif // LognormalGrowth_H