SpatialDisperse.h

00001 //---------------------------------------------------------------------------
00002 #ifndef SpatialDisperseH
00003 #define SpatialDisperseH
00004 //---------------------------------------------------------------------------
00005 #include "DisperseBase.h"
00006 
00007 class DOMDocument;
00008 class clTreePopulation;
00009 class clPlot;
00010 class clTree;
00011 
00050 class clSpatialDispersal : virtual public clDisperseBase {
00051 //note: need the virtual keyword to avoid base class ambiguity.
00052 
00053  public:
00054 
00060   clSpatialDispersal(clSimManager *p_oSimManager);
00061 
00065   ~clSpatialDispersal();
00066 
00073   void SetNameData(char *cNameString);
00074 
00078   // void WriteCumProbArray();
00079 
00080  protected:
00081 
00082  float ***mp_fDispersalX0;
00086  float ***mp_fThetaXb;    
00091  float ***mp_fStr;  
00094  float ***mp_fBeta;       
00097  float ***mp_fFecundity;  
00101  float *mp_fStumpBeta; 
00103  float *mp_fStumpStr;      
00105  float *mp_fStumpFecundity;
00106  float ****mp_fCumProb;  
00108  float m_fNumYearsPerTimestep; 
00109  int m_iMaxDistance;        
00110  int m_iMaxGapDensity;      
00112  short int *mp_iIndexes;  
00115  short int m_iNumFunctions; 
00116  short int m_iNumCovers;  
00117  short int **mp_iWhatFunction; 
00119   char *m_cQuery; 
00121   bool **mp_bIsUsed; 
00123   bool m_bIsGap; 
00124   bool m_bStumps; 
00131   void DoShellSetup(xercesc::DOMDocument *p_oDoc);
00132 
00141   float CalculateFunctionValue(int iDistance, int iSpecies,
00142      function iFunction, cover iCover);
00143 
00147   void DeclareArrays();
00148 
00182   void GapDisperse(clTree * p_oTree, clTreePopulation * p_oPop, clPlot * p_oPlot, float fDbh );
00183 
00198   void NonGapDisperse(clTree * p_oTree, clTreePopulation * p_oPop, clPlot * p_oPlot, float fDbh );
00199 
00216   void GetParameterFileData(xercesc::DOMDocument *p_oDoc);
00217 
00223   void CalcFecAndFunctions();
00224 
00229   void PopulateUsedTable(clTreePopulation *p_oPop);
00230 
00245   void CalculateGapStatus(clTreePopulation *p_oPop);
00246 
00258   void CalculateProbabilityDistribution(float *p_fProbArray, int iMaxDistance,
00259        int iSpecies, function iFunction, cover iCover);
00260 
00266   void AddSeeds();
00267 
00280   float GetNumberOfSeeds(float fDbh, short int iSp, int iCover, int iFunc);
00281 
00282 };
00283 //---------------------------------------------------------------------------
00284 #endif

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