DisperseOrg.h

00001 //---------------------------------------------------------------------------
00002 
00003 #ifndef DisperseOrgH
00004 #define DisperseOrgH
00005 //---------------------------------------------------------------------------
00006 #include <xercesc/dom/dom.hpp>
00007 class clDisperseBase;
00008 class xercesc::DOMDocument;
00009 class clSimManager;
00010 class clTreePopulation;
00011 class clGridBase;
00012 class clModelMath;
00013 
00046 class clDisperseOrg {
00047   public:
00048 
00052   ~clDisperseOrg();
00053 
00060   clDisperseOrg(clDisperseBase *p_oHookedShell);
00061 
00068   void DoDisperse();
00069 
00082   void DoSetup(clSimManager *p_oSimManager, xercesc::DOMDocument *p_oDoc);
00083 
00084   protected:
00085 
00087   clGridBase *mp_oSeedsGrid;
00088 
00093   clDisperseBase **mp_oDispObjects;
00094 
00095   float
00099     *mp_fRandParameter;
00100 
00101   short int *mp_iCodes; 
00104   int m_iNumDispObjects; 
00105   int m_iTotalSpecies; 
00108   enum seedAdjustment {
00109     deterministic, 
00110     poisson, 
00111     lognormal, 
00112     normal, 
00113     negative_binomial 
00114   }  m_iSeedDistributionMethod; 
00116   bool m_bHooked; 
00125   void GetDisperseObjects(clSimManager *p_oSimManager);
00126 
00137   void GetParameterFileData(clSimManager *p_oSimManager, xercesc::DOMDocument *p_oDoc);
00138 
00144   void GetSeedGridObject(clSimManager *p_oSimManager);
00145 
00150   void AdjustSeedNumbers();
00151 
00159   float DeterministicAdjust(float fNumber, int iSpecies);
00160 
00168   float NormalAdjust(float fNumber, int iSpecies);
00169 
00177   float LognormalAdjust(float fNumber, int iSpecies);
00178 
00186   float PoissonAdjust(float fNumber, int iSpecies);
00187 
00195   float NegativeBinomialAdjust(float fNumber, int iSpecies);
00196 
00201   void SetFunctionPointer();
00202 
00204   float (clDisperseOrg::*Adjust)(float fNumber, int iSpecies);
00205 
00206 };
00207 //---------------------------------------------------------------------------
00208 #endif

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