00001 //--------------------------------------------------------------------------- 00002 // LightDepSeedSurvival.h 00003 //--------------------------------------------------------------------------- 00004 #if !defined(LightDepSeedSurvival_H) 00005 #define LightDepSeedSurvival_H 00006 00007 #include "GLIBase.h" 00008 00009 class clTreePopulation; 00010 class clTree; 00011 class clGridBase; 00012 class clLightOrg; 00079 class clLightDepSeedSurvival : virtual public clGLIBase { 00080 //note: need the virtual keyword to avoid base class ambiguity. 00081 00082 public: 00083 00089 clLightDepSeedSurvival(clSimManager *p_oSimManager); 00090 00094 ~clLightDepSeedSurvival(); 00095 00106 void GetData(xercesc::DOMDocument *p_oDoc); 00107 00122 void Action(); 00123 00132 void SetNameData(char *cNameString); 00133 00135 void RegisterTreeDataMembers() {;}; 00137 float CalcLightValue(clTree *p_oTree, clTreePopulation *p_oPop) {return 0;}; 00138 00139 protected: 00140 00142 clGridBase *mp_oSeedGrid; 00143 00145 clGridBase *mp_oStormLightGrid; 00146 00149 float **mp_fLightExtCoeff; 00150 00153 float *mp_fOptimumGLI; 00154 00157 float *mp_fLowGLISlope; 00158 00161 float *mp_fHighGLISlope; 00162 00164 float m_fLightHeight; 00165 00168 float m_fMaxSearchDistance; 00169 00172 short int *mp_iSeedGridCode; 00173 00174 short int **mp_iDamageCodes; 00179 short int *mp_iIndexes; 00180 00182 short int m_iNumTotalSpecies; 00183 00186 short int m_iLightCode; 00187 00190 bool m_bUseStormLight; 00191 00209 void GetParameterFileData(xercesc::DOMDocument *p_oDoc); 00210 00218 void SetupGrid(); 00219 00226 void DoLightSetup(); 00227 00237 float GetGLI(clTreePopulation *p_oPop, const float &fX, const float &fY); 00238 00246 void GetTreeDataMemberCodes(); 00247 00261 float GetLightFavorability(const int &iSpecies, const float &fGLI); 00262 00272 float GetLightExtinctionCoefficient(clTree *p_oTree); 00273 }; 00274 //--------------------------------------------------------------------------- 00275 #endif // PuertoRicoEstablishment_H