Nemo  2.4.0b
Simulate forward-in-time genetic evolution in a spatially explicit, individual-based stochastic simulator
LCEphenoexpression.h
Go to the documentation of this file.
1 /*
2  * @file LCEphenoexpression.h
3  * Nemo2
4  *
5  * Copyright (C) 2023-2024 Max Schmid, Frederic Guillaume
6  *
7  * This file is part of Nemo
8  *
9  * Nemo is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation; either version 2 of the License, or
12  * (at your option) any later version.
13  *
14  * Nemo is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program; if not, write to the Free Software
21  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22  *
23  * @author Max
24  */
25 
26 #ifndef LCEPHENOEXPRESSION_H
27 #define LCEPHENOEXPRESSION_H
28 
29 #include "lifecycleevent.h"
30 #include "ttquanti.h"
31 #include "Uniform.h"
32 
33 //LCE_PhenotypeExpression
35 
36 {
37 
39  unsigned int _num_trait;
40 
43 
46 
49 
52 
56 
63  bool _is_labile;
64 
66  double (LCE_PhenotypeExpression::* _get_env_cue_func) (unsigned int, unsigned int);
67 
70 
71 
72 public:
73 
75 
76  virtual ~LCE_PhenotypeExpression ( ) { }
77 
78  bool set_g_value_matrix (Param* param, TMatrix& mat);
79  bool check_g_index_matrix (Param* param, TMatrix& mat);
80  bool set_env_cue ();
81  void set_phenot_no_evol (unsigned int patch, TTQuanti* trait);
82  void set_phenot_g1_evol (unsigned int patch, TTQuanti* trait);
83  void set_phenot_g2_evol (unsigned int patch, TTQuanti* trait);
84  void set_phenot_g1_g2_evol (unsigned int patch, TTQuanti* trait);
85  double get_env_cue_no_noise (unsigned int patch, unsigned int trait);
86  double get_env_cue_noise (unsigned int patch, unsigned int trait);
87 
88 
89  virtual void execute ();
90 
91  void setIndPhenotype (Patch* patch, sex_t SEX, age_idx AGE);
92 
93  virtual LifeCycleEvent* clone ( ) {return new LCE_PhenotypeExpression();}
94 
95  virtual bool setParameters ();
96 
97 // SimComponent implementation:
98 
99  virtual void loadFileServices ( FileServices* loader ) {}
100 
101  virtual void loadStatServices ( StatServices* loader ) {}
102 
103  virtual bool resetParameterFromSource (std::string param, SimComponent* cmpt) {return false;}
104 
105  virtual age_t removeAgeClass ( ) {return 0;}
106 
107  virtual age_t addAgeClass ( ) {return 0;}
108 
109  virtual age_t requiredAgeClass () {return 0;}
110 
111 };
112 
113 #endif
Nemo2.
A class to manage the files associated with each components of the simulation.
Definition: fileservices.h:52
Definition: LCEphenoexpression.h:36
virtual ~LCE_PhenotypeExpression()
Definition: LCEphenoexpression.h:76
LCE_PhenotypeExpression()
Definition: LCEphenoexpression.cc:40
TMatrix _g1_values
Definition: LCEphenoexpression.h:57
unsigned int _num_trait
Number of plastic phenotypes.
Definition: LCEphenoexpression.h:39
double get_env_cue_noise(unsigned int patch, unsigned int trait)
Definition: LCEphenoexpression.cc:423
void set_phenot_g1_g2_evol(unsigned int patch, TTQuanti *trait)
Definition: LCEphenoexpression.cc:471
bool _do_change_cue
Definition: LCEphenoexpression.h:62
void(LCE_PhenotypeExpression::* _set_phenotype_func)(unsigned int, TTQuanti *)
Definition: LCEphenoexpression.h:65
virtual LifeCycleEvent * clone()
Definition: LCEphenoexpression.h:93
virtual void execute()
Definition: LCEphenoexpression.cc:330
TMatrix _env_cue
A matrix to hold the environmental cues (e value).
Definition: LCEphenoexpression.h:42
TMatrix _g1_linked_index
Definition: LCEphenoexpression.h:54
virtual void loadFileServices(FileServices *loader)
Definition: LCEphenoexpression.h:99
double(LCE_PhenotypeExpression::* _get_env_cue_func)(unsigned int, unsigned int)
Definition: LCEphenoexpression.h:66
bool check_g_index_matrix(Param *param, TMatrix &mat)
Definition: LCEphenoexpression.cc:298
void setIndPhenotype(Patch *patch, sex_t SEX, age_idx AGE)
Definition: LCEphenoexpression.cc:400
bool _e_copy_trait_optimum_value
A flag to set whether environmental cue values are equal to and copied from the trait local optimum v...
Definition: LCEphenoexpression.h:51
TMatrix _g2_values
Definition: LCEphenoexpression.h:58
bool set_env_cue()
Definition: LCEphenoexpression.cc:313
void set_phenot_g1_evol(unsigned int patch, TTQuanti *trait)
Definition: LCEphenoexpression.cc:443
bool set_g_value_matrix(Param *param, TMatrix &mat)
Definition: LCEphenoexpression.cc:276
void set_phenot_no_evol(unsigned int patch, TTQuanti *trait)
Definition: LCEphenoexpression.cc:430
TMatrix _e_values
Definition: LCEphenoexpression.h:59
TProtoQuanti * _QuantiProto
A pointer to the plastic trait prototype.
Definition: LCEphenoexpression.h:69
double get_env_cue_no_noise(unsigned int patch, unsigned int trait)
Definition: LCEphenoexpression.cc:416
TMatrix _e_rate
A matrix to hold the per generation rate of change of the environmental cues.
Definition: LCEphenoexpression.h:48
bool _g2_evolves
Definition: LCEphenoexpression.h:61
virtual age_t requiredAgeClass()
Definition: LCEphenoexpression.h:109
virtual bool setParameters()
Definition: LCEphenoexpression.cc:81
virtual age_t addAgeClass()
Definition: LCEphenoexpression.h:107
TMatrix _g2_linked_index
Definition: LCEphenoexpression.h:55
virtual bool resetParameterFromSource(std::string param, SimComponent *cmpt)
Definition: LCEphenoexpression.h:103
TMatrix _g0_linked_index
Definition: LCEphenoexpression.h:53
virtual void loadStatServices(StatServices *loader)
Definition: LCEphenoexpression.h:101
bool _is_labile
Definition: LCEphenoexpression.h:63
void set_phenot_g2_evol(unsigned int patch, TTQuanti *trait)
Definition: LCEphenoexpression.cc:457
virtual age_t removeAgeClass()
Definition: LCEphenoexpression.h:105
bool _g1_evolves
Definition: LCEphenoexpression.h:60
TMatrix _e_noise
A matrix to hold the environmental noise (e reliability).
Definition: LCEphenoexpression.h:45
Base class of the Life Cycle Events, declares the LCE interface.
Definition: lifecycleevent.h:73
This structure stores one parameter, its definition and its string argument.
Definition: param.h:54
Second class in the metapopulation design structure, between the Metapop and Individual classes.
Definition: metapop.h:432
Interface to all basic components of a simulation (traits, life cycle events, pop,...
Definition: simcomponent.h:45
The Service class used to manage the StatHandler objects.
Definition: statservices.h:50
A class to handle matrix in params, coerces matrix into a vector of same total size.
Definition: tmatrix.h:50
TProtoQuanti.
Definition: ttquanti.h:409
TTQuanti.
Definition: ttquanti.h:59
sex_t
Sex types, males are always 0 and females 1!!
Definition: types.h:36
unsigned int age_t
Age class flags.
Definition: types.h:46
age_idx
Array index of the age classes in the patch sizes and containers arrays.
Definition: types.h:41

Generated for Nemo v2.4.0b by  doxygen 1.9.1 -- Nemo is hosted on  Download Nemo

Locations of visitors to this page
Catalogued on GSR