Nemo  2.3.56
Simulate forward-in-time genetic evolution in a spatially explicit, individual-based stochastic simulator
LCE_Aging Class Reference

Removes all adults from the patches and randomly moves the offspring to the adults age class. More...

#include <LCEmisc.h>

+ Inheritance diagram for LCE_Aging:
+ Collaboration diagram for LCE_Aging:

Public Member Functions

 LCE_Aging ()
 
virtual ~LCE_Aging ()
 
virtual bool setParameters ()
 
virtual void execute ()
 
virtual LCE_Agingclone ()
 
virtual void loadFileServices (FileServices *loader)
 
virtual void loadStatServices (StatServices *loader)
 
virtual bool resetParameterFromSource (std::string param, SimComponent *cmpt)
 
virtual age_t removeAgeClass ()
 
virtual age_t addAgeClass ()
 
virtual age_t requiredAgeClass ()
 
- Public Member Functions inherited from LifeCycleEvent
 LifeCycleEvent (const char *name, const char *trait_link)
 Cstor. More...
 
virtual ~LifeCycleEvent ()
 
virtual void init (Metapop *popPtr)
 Sets the pointer to the current Metapop and the trait link if applicable. More...
 
virtual bool attach_trait (string trait)
 
virtual void set_paramset (std::string name, bool required, SimComponent *owner)
 
virtual void set_event_name (std::string &name)
 Set the name of the event (name of the ParamSet) and add the corresponding parameter to the set. More...
 
virtual void set_event_name (const char *name)
 
virtual string & get_event_name ()
 Accessor to the LCE's name. More...
 
virtual int get_rank ()
 Accessor to the LCE rank in the life cycle. More...
 
virtual void set_pop_ptr (Metapop *popPtr)
 Accessors for the population pointer. More...
 
virtual Metapopget_pop_ptr ()
 
- Public Member Functions inherited from SimComponent
 SimComponent ()
 
virtual ~SimComponent ()
 
virtual void loadUpdaters (UpdaterServices *loader)
 Loads the parameters and component updater onto the updater manager. More...
 
virtual void set_paramset (ParamSet *paramset)
 Sets the ParamSet member. More...
 
virtual void set_paramsetFromCopy (const ParamSet &PSet)
 Reset the set of parameters from a another set. More...
 
virtual ParamSetget_paramset ()
 ParamSet accessor. More...
 
virtual void add_parameter (Param *param)
 Interface to add a parameter to the set. More...
 
virtual void add_parameter (std::string Name, param_t Type, bool isRequired, bool isBounded, double low_bnd, double up_bnd)
 Interface to add a parameter to the set. More...
 
virtual void add_parameter (std::string Name, param_t Type, bool isRequired, bool isBounded, double low_bnd, double up_bnd, ParamUpdaterBase *updater)
 Interface to add a parameter and its updater to the set. More...
 
virtual Paramget_parameter (std::string name)
 Param getter. More...
 
virtual double get_parameter_value (std::string name)
 Param value getter. More...
 
virtual string get_name ()
 Returnd the name of the ParamSet, i.e. More...
 
virtual bool has_parameter (std::string name)
 Param getter. More...
 

Additional Inherited Members

- Protected Attributes inherited from LifeCycleEvent
std::string _event_name
 The param name to be read in the init file. More...
 
Metapop_popPtr
 The ptr to the current Metapop. More...
 
std::string _LCELinkedTraitType
 The name of the linked trait. More...
 
int _LCELinkedTraitIndex
 The index in the individual's trait table of the linked trait. More...
 
- Protected Attributes inherited from SimComponent
ParamSet_paramSet
 The parameters container. More...
 

Detailed Description

Removes all adults from the patches and randomly moves the offspring to the adults age class.

Patch regulation is performed at the same time, leaving the patch at carrying capacity (if enough offspring individuals were present). This is the only LCE that actually removes the adults from the patches. Also checks whether the patch is filled and sets the extinction flag accordingly.

Constructor & Destructor Documentation

◆ LCE_Aging()

LCE_Aging::LCE_Aging ( )
inline
83: LifeCycleEvent("aging","") {}
Base class of the Life Cycle Events, declares the LCE interface.
Definition: lifecycleevent.h:73

Referenced by clone().

+ Here is the caller graph for this function:

◆ ~LCE_Aging()

virtual LCE_Aging::~LCE_Aging ( )
inlinevirtual
85{ }

Member Function Documentation

◆ addAgeClass()

virtual age_t LCE_Aging::addAgeClass ( )
inlinevirtual

Implements LifeCycleEvent.

95{return ADULTS;}
#define ADULTS
Adults age class flag (breeders).
Definition: types.h:54

References ADULTS.

◆ clone()

virtual LCE_Aging * LCE_Aging::clone ( )
inlinevirtual

Implements LifeCycleEvent.

90{return new LCE_Aging();}
LCE_Aging()
Definition: LCEmisc.h:83

References LCE_Aging().

◆ execute()

void LCE_Aging::execute ( )
virtual

Implements LifeCycleEvent.

46{
47#ifdef _DEBUG_
48 message("LCE_Aging::execute (Patch nb: %i offsprg nb: %d adlt nb: %d; ",_popPtr->getPatchNbr()
50#endif
51 unsigned int nbInd = 0;
52 Patch *patch;
53 for(unsigned int i = 0; i < _popPtr->getPatchNbr(); i++) {
54
55 patch = _popPtr->getPatch(i);
56
57 patch->flush(ADLTx, _popPtr);
58
59 nbInd = 0;
60
61 while(nbInd++ < patch->get_KFem() && patch->size(FEM, OFFSx) != 0)
62 patch->move(FEM, OFFSx, ADLTx, RAND::Uniform( patch->size(FEM, OFFSx) ) );
63
64 nbInd = 0;
65
66 while(nbInd++ < patch->get_KMal() && patch->size(MAL, OFFSx) != 0)
67 patch->move(MAL, OFFSx, ADLTx, RAND::Uniform( patch->size(MAL, OFFSx) ) );
68
69 patch->flush(OFFSx, _popPtr);
70
71 //set the Patch extinction and age tags:
72 if(patch->size(ADULTS) == 0) {
73 patch->set_isExtinct(true);
74 patch->set_age(0);
75 } else {
76 patch->set_isExtinct(false);
77 patch->set_age( patch->get_age() + 1 );
78 }
79 }
80#ifdef _DEBUG_
81 message("after: %i)\n",_popPtr->size( ));
82#endif
83}
Metapop * _popPtr
The ptr to the current Metapop.
Definition: lifecycleevent.h:81
unsigned int size()
Get the total number of individuals present in the population, all sex and age classes together.
Definition: metapop.h:310
unsigned int getPatchNbr()
Definition: metapop.h:276
Patch * getPatch(unsigned int i)
Patch accessor, return the ith+1 patch in the metapop.
Definition: metapop.h:257
Second class in the metapopulation design structure, between the Metapop and Individual classes.
Definition: metapop.h:430
unsigned int size(age_t AGE)
Returns the size of the container of the appropriate age class(es) for both sexes.
Definition: metapop.h:496
void set_isExtinct(bool status)
Definition: metapop.h:472
void move(sex_t SEX, age_idx from, age_idx to, unsigned int at)
Moves an individual from an age class to an other one.
Definition: metapop.h:596
void flush(sex_t SEX, age_idx AGE, Metapop *pop)
Removes all individual pointers of the appropriate sex and age class and flush them into the recyclin...
Definition: metapop.h:643
void set_age(unsigned int a)
Definition: metapop.h:473
unsigned int get_KFem()
Definition: metapop.h:481
unsigned int get_KMal()
Definition: metapop.h:482
unsigned int get_age()
Definition: metapop.h:485
static double Uniform()
Generates a random number from [0.0, 1.0[ uniformly distributed.
Definition: Uniform.h:125
void message(const char *message,...)
Definition: output.cc:40
@ FEM
Definition: types.h:37
@ MAL
Definition: types.h:37
#define OFFSPRG
Offspring age class flag.
Definition: types.h:50
@ OFFSx
Definition: types.h:42
@ ADLTx
Definition: types.h:42

References LifeCycleEvent::_popPtr, ADLTx, ADULTS, FEM, Patch::flush(), Patch::get_age(), Patch::get_KFem(), Patch::get_KMal(), Metapop::getPatch(), Metapop::getPatchNbr(), MAL, message(), Patch::move(), OFFSPRG, OFFSx, Patch::set_age(), Patch::set_isExtinct(), Metapop::size(), Patch::size(), and RAND::Uniform().

◆ loadFileServices()

virtual void LCE_Aging::loadFileServices ( FileServices loader)
inlinevirtual

Implements SimComponent.

91{}

◆ loadStatServices()

virtual void LCE_Aging::loadStatServices ( StatServices loader)
inlinevirtual

Implements SimComponent.

92{}

◆ removeAgeClass()

virtual age_t LCE_Aging::removeAgeClass ( )
inlinevirtual

Implements LifeCycleEvent.

94{return OFFSPRG;}

References OFFSPRG.

◆ requiredAgeClass()

virtual age_t LCE_Aging::requiredAgeClass ( )
inlinevirtual

Implements LifeCycleEvent.

96{return OFFSPRG;}

References OFFSPRG.

◆ resetParameterFromSource()

virtual bool LCE_Aging::resetParameterFromSource ( std::string  param,
SimComponent cmpt 
)
inlinevirtual

Implements SimComponent.

93{return false;}

◆ setParameters()

virtual bool LCE_Aging::setParameters ( )
inlinevirtual

Implements SimComponent.

88{return true;}

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

Generated for Nemo v2.3.56 by  doxygen 1.9.0 -- Nemo is hosted on  Download Nemo

Locations of visitors to this page
Catalogued on GSR