NCIBAGrowth.h

00001 //---------------------------------------------------------------------------
00002 
00003 #ifndef NCIBAGrowthH
00004 #define NCIBAGrowthH
00005 //---------------------------------------------------------------------------
00006 #include "GrowthBase.h"
00007 
00008 class clSimManager;
00009 class clTree;
00010 class clTreePopulation;
00011 class DOMDocument;
00012 
00077 class clNCIBAGrowth : virtual public clGrowthBase {
00078 //note: need the virtual keyword to avoid base class ambiguity.
00079 
00080   public:
00081 
00086    clNCIBAGrowth(clSimManager *p_oSimManager);
00087 
00091   ~clNCIBAGrowth();
00092 
00102   float CalcDiameterGrowthValue(clTree *p_oTree, clTreePopulation *p_oPop, float fHeightGrowth);
00103 
00126   void PreGrowthCalcs( clTreePopulation *p_oPop );
00127 
00140   void DoShellSetup(xercesc::DOMDocument *p_oDoc);
00141 
00150   void SetNameData(char *cNameString);
00151 
00152   protected:
00153 
00157   short int **mp_iGrowthCodes;
00158 
00162   float *mp_fCrowdingSlope;
00163 
00167   float *mp_fCrowdingSteepness;
00168 
00174   float *mp_fMaxCrowdingRadius;
00175 
00178   float *mp_fMinimumNeighborDBH;
00179 
00184   float *mp_fXb;
00185 
00189   float *mp_fMaxPotentialValue;
00190 
00194   float *mp_fX0;
00195 
00200   float *mp_fGamma;
00201 
00203   short int *mp_iIndexes;
00204 
00206   short int *mp_iWhatBehaviorTypes;
00207 
00209   float m_fMinSaplingHeight;
00210 
00212   short int m_iNumBehaviorTypes;
00213 
00216   short int m_iNumTotalSpecies;
00217 
00228   void ValidateData();
00229 
00236   void GetGrowthCodes();
00237 
00246   float GetBasalAreas(clTree *p_oTarget, clTreePopulation *p_oPop);
00247 
00254   void ReadParameterFile( xercesc::DOMDocument *p_oDoc );
00255 
00260   void AssembleUniqueTypes();
00261 };
00262 //---------------------------------------------------------------------------
00263 #endif

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