00001 //--------------------------------------------------------------------------- 00002 // NCIMort 00003 //--------------------------------------------------------------------------- 00004 #if !defined(NCIMort_H) 00005 #define NCIMort_H 00006 00007 #include "MortalityBase.h" 00008 #include "NCIBase.h" 00009 00010 class clSimManager; 00011 class clTree; 00012 class clTreePopulation; 00013 class clPlot; 00014 class DOMDocument; 00015 00062 class clNCIMort : virtual public clMortalityBase, clNCIBase { 00063 //note: need the virtual keyword to avoid base class ambiguity. 00064 00065 public: 00066 00071 clNCIMort(clSimManager *p_oSimManager); 00072 00076 ~clNCIMort(); 00077 00086 bool DoMort (clTree *p_oTree, const float &fDbh, const short int &iSpecies); 00087 00095 void DoShellSetup(xercesc::DOMDocument *p_oDoc); 00096 00104 void PreMortCalcs( clTreePopulation *p_oPop ); 00105 00110 void RegisterTreeDataMembers(); 00111 00118 short int GetNewTreeBools(); 00119 00120 protected: 00121 00122 float m_fNumberYearsPerTimestep; 00125 short int **mp_iNCIMortCodes; 00129 char *m_cQuery; 00146 void ValidateData(); 00147 00154 void ReadParameterFile( xercesc::DOMDocument *p_oDoc ); 00155 00165 void GetTreeMemberCodes(); 00166 00170 void FormatQuery(); 00171 00172 }; 00173 //--------------------------------------------------------------------------- 00174 #endif // PuertoRicoNCIMort_H