SORTIE Core C++ Documentation
Public Member Functions | Protected Attributes | List of all members
clCrowdingEffectBase Class Referenceabstract

Provides a base for objects that calculate a crowding effect. More...

#include <CrowdingEffectBase.h>

Inheritance diagram for clCrowdingEffectBase:
clCrowdingEffectDefault clCrowdingEffectNone clCrowdingEffectNoSize clCrowdingEffectTempDep clCrowdingEffectTwo

Public Member Functions

 clCrowdingEffectBase ()
 Constructor. More...
 
virtual ~clCrowdingEffectBase ()
 Destructor. More...
 
virtual double CalculateCrowdingEffect (clTree *p_oTree, const float &fDiam, const clNCITermBase::ncivals nci, const int &iSpecies)=0
 Calculates crowding effect. More...
 
virtual void DoSetup (clTreePopulation *p_oPop, clBehaviorBase *p_oNCI, clNCIBehaviorBase *p_oNCIBase, xercesc::DOMElement *p_oElement)=0
 Does any desired setup. More...
 
virtual void PreCalcs (clTreePopulation *p_oPop)
 Performs calculations like either clGrowthBase::PreGrowthCalcs or clMortalityBase::PreMortCalcs. More...
 
bool DoesRequireTargetDiam ()
 

Protected Attributes

bool m_bRequiresTargetDiam
 Whether or not this effect depends on a target diameter being available. More...
 
bool m_b2ValNCI
 Whether it's a two-value NCI. More...
 

Detailed Description

Provides a base for objects that calculate a crowding effect.

Constructor & Destructor Documentation

◆ clCrowdingEffectBase()

clCrowdingEffectBase::clCrowdingEffectBase ( )
inline

Constructor.

Sets defaults.

◆ ~clCrowdingEffectBase()

virtual clCrowdingEffectBase::~clCrowdingEffectBase ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ CalculateCrowdingEffect()

virtual double clCrowdingEffectBase::CalculateCrowdingEffect ( clTree p_oTree,
const float &  fDiam,
const clNCITermBase::ncivals  nci,
const int &  iSpecies 
)
pure virtual

Calculates crowding effect.

Parameters
p_oTreeTree for which to calculate crowding effect. If bRequiresTargetDiam is false, be prepared for this to be NULL.
fDiamDiameter of tree. May not be the same as the one recorded in the tree record if it is being updated for consecutive years in a timestep.
nciNCI term. May be 0 if NCI not used.
iSpeciesSpecies for which to calculate effect. This is separate in case p_oTree is NULL because there is no target.

Implemented in clCrowdingEffectTempDep, clCrowdingEffectTwo, clCrowdingEffectDefault, clCrowdingEffectNoSize, and clCrowdingEffectNone.

◆ DoesRequireTargetDiam()

bool clCrowdingEffectBase::DoesRequireTargetDiam ( )
inline

◆ DoSetup()

virtual void clCrowdingEffectBase::DoSetup ( clTreePopulation p_oPop,
clBehaviorBase p_oNCI,
clNCIBehaviorBase p_oNCIBase,
xercesc::DOMElement *  p_oElement 
)
pure virtual

Does any desired setup.

Parameters
p_oPopTree population.
p_oNCINCI behavior object.
p_oNCIBaseNCI parent behavior object.
p_oElementRoot element of the behavior.

Implemented in clCrowdingEffectTempDep, clCrowdingEffectTwo, clCrowdingEffectDefault, clCrowdingEffectNoSize, and clCrowdingEffectNone.

◆ PreCalcs()

virtual void clCrowdingEffectBase::PreCalcs ( clTreePopulation p_oPop)
inlinevirtual

Performs calculations like either clGrowthBase::PreGrowthCalcs or clMortalityBase::PreMortCalcs.

Member Data Documentation

◆ m_b2ValNCI

bool clCrowdingEffectBase::m_b2ValNCI
protected

Whether it's a two-value NCI.

◆ m_bRequiresTargetDiam

bool clCrowdingEffectBase::m_bRequiresTargetDiam
protected

Whether or not this effect depends on a target diameter being available.


The documentation for this class was generated from the following file: