00001 //--------------------------------------------------------------------------- 00002 #ifndef SubstrateDepSeedSurvivalH 00003 #define SubstrateDepSeedSurvivalH 00004 //--------------------------------------------------------------------------- 00005 00006 #include "BehaviorBase.h" 00007 00008 class clTreePopulation; 00009 class clGridBase; 00010 class clTree; 00011 class clModelMath; 00067 class clSubstrateDepSeedSurvival : virtual public clBehaviorBase { 00068 //note: need the virtual keyword to avoid base class ambiguity. 00069 00070 public: 00071 00077 clSubstrateDepSeedSurvival(clSimManager *p_oSimManager); 00078 00082 ~clSubstrateDepSeedSurvival(); 00083 00089 void GetData(xercesc::DOMDocument *p_oDoc); 00090 00104 void Action(); 00105 00116 void SetNameData(char *cNameString); 00117 00118 protected: 00119 00121 clGridBase *mp_oSubstrateGrid; 00122 00134 clGridBase *mp_oSubstrateFavGrid; 00135 00137 clGridBase *mp_oSeedGrid; 00138 00140 float *mp_fCanGroundScarSoilFav; 00142 float *mp_fCanGroundTipUpFav; 00144 float *mp_fCanGroundFreshLogFav; 00146 float *mp_fCanGroundDecLogFav; 00148 float *mp_fCanGroundForFlLitterFav; 00150 float *mp_fCanGroundForFlMossFav; 00151 00153 float *mp_fGapMoundScarSoilFav; 00155 float *mp_fGapMoundTipUpFav; 00157 float *mp_fGapMoundFreshLogFav; 00159 float *mp_fGapMoundDecLogFav; 00161 float *mp_fGapMoundForFlLitterFav; 00163 float *mp_fGapMoundForFlMossFav; 00164 00166 short int *mp_iIndexes; 00167 00170 short int *mp_iSubstrFavCode; 00171 00174 short int *mp_iSeedGridCode; 00175 00177 float m_fMoundProp; 00178 00180 short int m_iIsGapCode; 00181 00182 //Substrate proportions grid data member codes 00183 short int m_iScarifiedSoilCode; 00184 short int m_iForestFloorLitterCode; 00185 short int m_iForestFloorMossCode; 00186 short int m_iTipUpCode; 00187 short int m_iFreshLogCode; 00188 short int m_iDecayedLogCode; 00191 bool m_bUsesGap; 00192 00194 bool m_bUsesMicro; 00195 00204 void GetParameterFileData(xercesc::DOMDocument *p_oDoc); 00205 00217 void CalculateSubstrateFavorabilityIndex(); 00218 00226 void SetupGrids(); 00227 }; 00228 //--------------------------------------------------------------------------- 00229 #endif