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

Calculates a crowding effect which is a slight variation on the one in clDefaultCrowdingEffect. More...

#include <CrowdingEffect2.h>

Inheritance diagram for clCrowdingEffectTwo:
clCrowdingEffectBase

Public Member Functions

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

Protected Attributes

double * mp_fC
 Crowding effect slope. More...
 
double * mp_fD
 Crowding effect steepness. More...
 
double * mp_fGamma
 Size sensitivity to NCI parameter. More...
 
- Protected Attributes inherited from clCrowdingEffectBase
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

Calculates a crowding effect which is a slight variation on the one in clDefaultCrowdingEffect.

This class calculates a crowding effect according to the term:

CE = exp(-C * ( diamγ * NCI)D)

where:

This is originally from the BA NCI behavior.

I'm calling this "Crowding effect 2" because it's just a slight variation on the default and I didn't know what else to call it.

Alternately, this can use NCI behaviors returning 2 values, in which case the format is

CE = exp(-C * (nci1 γ * nci2)D)

Constructor & Destructor Documentation

◆ clCrowdingEffectTwo()

clCrowdingEffectTwo::clCrowdingEffectTwo ( )

Constructor.

◆ ~clCrowdingEffectTwo()

clCrowdingEffectTwo::~clCrowdingEffectTwo ( )

Destructor.

Member Function Documentation

◆ CalculateCrowdingEffect()

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

Calculates crowding effect.

Parameters
p_oTreeTree for which to calculate crowding effect.
fDiamDiameter of tree.
nciNCI term.
iSpeciesSpecies for which to calculate effect.

Implements clCrowdingEffectBase.

◆ DoSetup()

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

Does setup.

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

Implements clCrowdingEffectBase.

Member Data Documentation

◆ mp_fC

double* clCrowdingEffectTwo::mp_fC
protected

Crowding effect slope.

C in Crowding Effect equation above. Array sized number of species.

◆ mp_fD

double* clCrowdingEffectTwo::mp_fD
protected

Crowding effect steepness.

D in Crowding Effect equation above. Array sized number of species.

◆ mp_fGamma

double* clCrowdingEffectTwo::mp_fGamma
protected

Size sensitivity to NCI parameter.

γ in Crowding Effect equation above. Array sized number of species.


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