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

Calculates NCI and allows seedlings to compete. More...

#include <NCIWithSeedlings.h>

Inheritance diagram for clNCIWithSeedlings:
clNCITermBase

Public Member Functions

 clNCIWithSeedlings ()
 Constructor. More...
 
 ~clNCIWithSeedlings ()
 Destructor. More...
 
ncivals CalculateNCITerm (clTree *p_oTree, clTreePopulation *p_oPop, clPlot *p_oPlot, const float &fX, const float &fY, const int &iSpecies)
 Calculates NCI according to above equation. More...
 
void DoSetup (clTreePopulation *p_oPop, clBehaviorBase *p_oNCI, xercesc::DOMElement *p_oElement)
 Does setup. More...
 
- Public Member Functions inherited from clNCITermBase
 clNCITermBase ()
 Constructor. More...
 
int GetNumberNCIs ()
 
virtual void PreCalcs (clTreePopulation *p_oPop)
 Performs calculations like either clGrowthBase::PreGrowthCalcs or clMortalityBase::PreMortCalcs. More...
 
virtual ~clNCITermBase ()
 Destructor. More...
 
bool DoesRequireTargetDiam ()
 

Protected Attributes

double ** mp_fLambda
 Lamba for NCI. More...
 
double * mp_fMaxCrowdingRadius
 Maximum search radius, in meters, in which to look for crowding neighbors. More...
 
double * mp_fAlpha
 Neighbor DBH effect. More...
 
double * mp_fBeta
 Neighbor distance effect. More...
 
double * mp_fMinimumNeighborDiam10
 The minimum Diam10, in cm, of neighbors to be included in NCI calculations. More...
 
double m_fDiam10Divisor
 The value to divide diam10 by in NCI. More...
 
bool m_bIncludeSnags
 Whether or not to include snags in NCI. More...
 
int m_iNumTotalSpecies
 Number of total species. More...
 
- Protected Attributes inherited from clNCITermBase
bool bRequiresTargetDiam
 Whether or not this effect depends on a target diameter being available. More...
 
int iNumNCIs
 Number of NCI values calculated and populated into ncivals. More...
 

Detailed Description

Calculates NCI and allows seedlings to compete.

NCIi is calculated as follows (simplifying the notation):

NCIi = Σ λk((d10k/q)α/distanceβ)
where:
Seedlings are allowed to compete as neighbors.

NCI ignores neighbors with disturbance and harvest death codes. Natural deaths are NOT ignored, because it presumes that those deaths occurred in the current timestep and they should still be considered as live neighbors.

This returns 1 value for NCI.

Constructor & Destructor Documentation

◆ clNCIWithSeedlings()

clNCIWithSeedlings::clNCIWithSeedlings ( )

Constructor.

◆ ~clNCIWithSeedlings()

clNCIWithSeedlings::~clNCIWithSeedlings ( )

Destructor.

Member Function Documentation

◆ CalculateNCITerm()

ncivals clNCIWithSeedlings::CalculateNCITerm ( clTree p_oTree,
clTreePopulation p_oPop,
clPlot p_oPlot,
const float &  fX,
const float &  fY,
const int &  iSpecies 
)
virtual

Calculates NCI according to above equation.

Parameters
p_oTreeTree for which to calculate NCI.
p_oPopTree population.
p_oPlotPlot object.
fXX coordinate for which to calculate NCI.
fYY coordinate for which to calculate NCI.
iSpeciesSpecies for which to calculate NCI.

Implements clNCITermBase.

◆ DoSetup()

void clNCIWithSeedlings::DoSetup ( clTreePopulation p_oPop,
clBehaviorBase p_oNCI,
xercesc::DOMElement *  p_oElement 
)
virtual

Does setup.

Parameters
p_oPopTree population.
p_oNCINCI behavior object.
p_oElementRoot element of the behavior.
Exceptions
ModelExceptionif the max radius of neighbor effects is < 0, or if DBH divisor is = 0.

Implements clNCITermBase.

Member Data Documentation

◆ m_bIncludeSnags

bool clNCIWithSeedlings::m_bIncludeSnags
protected

Whether or not to include snags in NCI.

◆ m_fDiam10Divisor

double clNCIWithSeedlings::m_fDiam10Divisor
protected

The value to divide diam10 by in NCI.

q in the NCI equation above. May be set to 1.

◆ m_iNumTotalSpecies

int clNCIWithSeedlings::m_iNumTotalSpecies
protected

Number of total species.

For the destructor.

◆ mp_fAlpha

double* clNCIWithSeedlings::mp_fAlpha
protected

Neighbor DBH effect.

α variable in equation above. Array sized number of species.

◆ mp_fBeta

double* clNCIWithSeedlings::mp_fBeta
protected

Neighbor distance effect.

β variable in equation above. Array sized number of species.

◆ mp_fLambda

double** clNCIWithSeedlings::mp_fLambda
protected

Lamba for NCI.

Array sized number of total species by number of total species.

◆ mp_fMaxCrowdingRadius

double* clNCIWithSeedlings::mp_fMaxCrowdingRadius
protected

Maximum search radius, in meters, in which to look for crowding neighbors.

Array sized number of species.

◆ mp_fMinimumNeighborDiam10

double* clNCIWithSeedlings::mp_fMinimumNeighborDiam10
protected

The minimum Diam10, in cm, of neighbors to be included in NCI calculations.

Array is sized total number of species.


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