AbsoluteGrowth.h

00001 //---------------------------------------------------------------------------
00002 
00003 #ifndef AbsoluteGrowthH
00004 #define AbsoluteGrowthH
00005 //---------------------------------------------------------------------------
00006 #include "MichMenGrowthBase.h"
00007 
00056 //note: need the virtual keyword to avoid base class ambiguity.
00057 class clAbsoluteGrowth : virtual public clMichMenBase {
00058 
00059   public:
00060 
00065   clAbsoluteGrowth(clSimManager *p_oSimManager);
00066 
00070   ~clAbsoluteGrowth();
00071 
00079   float CalcDiameterGrowthValue(clTree *p_oTree, clTreePopulation *p_oPop, float fHeightGrowth);
00080 
00089   void SetNameData(char *cNameString);
00090 
00099   void DoShellSetup(xercesc::DOMDocument *p_oDoc);
00100 
00104   void RegisterTreeDataMembers();
00105 
00106   protected:
00109   float *mp_fLengthLastSuppFactor;
00110 
00113   float *mp_fLengthCurrReleaseFactor;
00114 
00117   float *mp_fGliThreshold;
00118 
00120   float m_fMortRateAtSuppression;
00121 
00123   float m_fNumberYearsPerTimestep;
00124 
00126   int m_iYrsExceedThresholdBeforeSup;
00127 
00130   int m_iMaxYears;
00131 
00134   struct stcCodes {
00135     short int *p_iCodes,  
00136               iType; 
00137   } *mp_ylrCodes, 
00138     *mp_ylsCodes; 
00140   short int m_iNumBehaviorTypes; 
00148   void CalculateSuppressionThresholds(xercesc::DOMDocument *p_oDoc,
00149                                             clTreePopulation *p_oPop);
00150 
00166   float CalculateSuppressionFactor(clTree *p_oTree, const float &fGli);
00167 };
00168 //---------------------------------------------------------------------------
00169 #endif

Generated on Thu Jan 26 13:44:32 2006 for SORTIE Core C++ Documentation by  doxygen 1.4.6-NO