Nemo  2.3.56
Simulate forward-in-time genetic evolution in a spatially explicit, individual-based stochastic simulator
servicenotifiers.h
Go to the documentation of this file.
1
29#include "types.h"
30#include "lifecycleevent.h"
31#include "fileservices.h"
32#include "statservices.h"
33#include "updaterservices.h"
34#include "filehandler.h"
35#include "stathandler.h"
36#include <map>
37
38//LCE_ParamUpdaterNotifier
39//
42
43private:
45
46public:
47
48 LCE_ParamUpdaterNotifier () : LifeCycleEvent("param_updater",""), _manager(0) { }
50
51 void setManager (UpdaterServices* mng) {_manager = mng;}
52 virtual void execute ();
53 virtual bool setParameters () {return true;}
54
55 virtual LifeCycleEvent* clone ( ) {return new LCE_ParamUpdaterNotifier();}
56
57 //SimComponent overrides:
58 virtual void loadFileServices ( FileServices* loader ) {}
59 virtual void loadStatServices ( StatServices* loader ) {}
60 virtual void loadUpdaters ( UpdaterServices* loader) {_manager = loader;}
61 virtual bool resetParameterFromSource (std::string param, SimComponent* cmpt) {return false;}
62 virtual age_t removeAgeClass ( ) {return 0;}
63 virtual age_t addAgeClass ( ) {return 0;}
64 virtual age_t requiredAgeClass () {return 0;}
65};
66
67// LCE_FileServicesNotifier
68//
69// forward decl
70class FileMergerFH;
73{
74
76 unsigned int _sample_size;
78
80
81public:
82 LCE_FileServicesNotifier(); //: LifeCycleEvent("save_files",""), _service(0) { }
84
85 virtual void execute ();
86 virtual bool setParameters (); // {return true;}
87
88 virtual LifeCycleEvent* clone ( ) {return new LCE_FileServicesNotifier();}
89
90 //SimComponent implementation
91 virtual void loadFileServices ( FileServices* loader );
92 virtual void loadStatServices ( StatServices* loader ) {}
93 virtual bool resetParameterFromSource (std::string param, SimComponent* cmpt) {return false;}
94 virtual age_t removeAgeClass ( ) {return 0;}
95 virtual age_t addAgeClass ( ) {return 0;}
96 virtual age_t requiredAgeClass () {return 0;}
97};
98
99// FileMergerFH
100
101class FileMergerFH : public EventFileHandler < LCE_FileServicesNotifier > {
102
103 vector< trait_t > _traits; // which traits are selected
104 vector< unsigned int> _map_index; // index in trait table of the genetic map
105 multimap< unsigned int, TraitPrototype* > _locposition_map; // holds the mapping of map position to trait
106
107 unsigned int _ntrait;
108
109 string _format;
110
111public:
113 EventFileHandler(event, ""), _ntrait(0) {}
114
115 virtual ~FileMergerFH() {}
116
117 virtual void FHwrite();
118 virtual void FHread (string& filename) {}
119
120 void setTraits(vector< trait_t >& traits);
121
122 void setFormat(string format) {_format = format;}
123
124
125};
126
127// LCE_StatFH
128//
130class LCE_StatFH : public FileHandler {
131
133
134public:
135
137: FileHandler(".txt"), _statService(0)
138{
139 FileHandler::set(false,false,0,0,0,"");
140 set_isMasterExec(true);
141}
142
144
145 virtual vector< string > ifExist();
146
148
149 virtual void FHwrite();
150 virtual void FHread (string& filename) {}
151
152 void PrintStat_byGen ( );
153};
154
155
156// LCE_StatServiceNotifier
157//
161{
162
164
165 unsigned int _occurrence;
166
167 string _arg, _dir;
168
170
171public:
172
174
176
178 bool setOccurence ();
179 bool dummyUpdate (){return true;}
180
181 virtual bool setParameters ();
182 virtual void execute ();
183
185
186 //SimComponent overrides:
187 virtual void loadFileServices ( FileServices* loader ) {loader->attach(&_fileHandler);}
188 virtual void loadStatServices ( StatServices* loader );
189 virtual bool resetParameterFromSource (std::string param, SimComponent* cmpt) {return false;}
190 virtual age_t removeAgeClass ( ) {return 0;}
191 virtual age_t addAgeClass ( ) {return 0;}
192 virtual age_t requiredAgeClass () {return 0;}
193
194};
Template class for the LCEs StatHandler classes.
Definition: filehandler.h:247
Interface to handle file input/output for any SimComponent.
Definition: filehandler.h:53
void set_isMasterExec(bool is)
Definition: filehandler.h:182
virtual void set(bool rpl_per, bool gen_per, int rpl_occ, int gen_occ, int rank, string path)
Sets the hanlder parameters.
Definition: filehandler.h:193
Definition: servicenotifiers.h:101
virtual void FHread(string &filename)
Definition: servicenotifiers.h:118
void setTraits(vector< trait_t > &traits)
Definition: servicenotifiers.cc:165
FileMergerFH(LCE_FileServicesNotifier *event)
Definition: servicenotifiers.h:112
string _format
Definition: servicenotifiers.h:109
vector< unsigned int > _map_index
Definition: servicenotifiers.h:104
vector< trait_t > _traits
Definition: servicenotifiers.h:103
virtual void FHwrite()
Definition: servicenotifiers.cc:189
void setFormat(string format)
Definition: servicenotifiers.h:122
virtual ~FileMergerFH()
Definition: servicenotifiers.h:115
multimap< unsigned int, TraitPrototype * > _locposition_map
Definition: servicenotifiers.h:105
unsigned int _ntrait
Definition: servicenotifiers.h:107
A class to manage the files associated with each components of the simulation.
Definition: fileservices.h:52
virtual void attach(Handler *FH)
Attaches the FileHandler to the current list (_writers) of the FileServices.
Definition: fileservices.cc:60
Event used to notify all file handlers to update their state through the FileServices::notify() inter...
Definition: servicenotifiers.h:73
FileMergerFH * _mergeWriter
Definition: servicenotifiers.h:79
virtual void loadStatServices(StatServices *loader)
Definition: servicenotifiers.h:92
LCE_FileServicesNotifier()
Definition: servicenotifiers.cc:62
virtual LifeCycleEvent * clone()
Definition: servicenotifiers.h:88
age_t _sample_age
Definition: servicenotifiers.h:77
virtual void loadFileServices(FileServices *loader)
Definition: servicenotifiers.cc:103
virtual bool setParameters()
Definition: servicenotifiers.cc:82
virtual age_t removeAgeClass()
Definition: servicenotifiers.h:94
FileServices * _service
Definition: servicenotifiers.h:75
virtual ~LCE_FileServicesNotifier()
Definition: servicenotifiers.cc:75
virtual void execute()
Definition: servicenotifiers.cc:154
virtual age_t requiredAgeClass()
Definition: servicenotifiers.h:96
virtual age_t addAgeClass()
Definition: servicenotifiers.h:95
virtual bool resetParameterFromSource(std::string param, SimComponent *cmpt)
Definition: servicenotifiers.h:93
unsigned int _sample_size
Definition: servicenotifiers.h:76
Calls the UpdaterServices to notify its components of a generation change.
Definition: servicenotifiers.h:41
void setManager(UpdaterServices *mng)
Definition: servicenotifiers.h:51
virtual ~LCE_ParamUpdaterNotifier()
Definition: servicenotifiers.h:49
virtual bool resetParameterFromSource(std::string param, SimComponent *cmpt)
Definition: servicenotifiers.h:61
LCE_ParamUpdaterNotifier()
Definition: servicenotifiers.h:48
virtual void loadFileServices(FileServices *loader)
Definition: servicenotifiers.h:58
virtual bool setParameters()
Definition: servicenotifiers.h:53
virtual void loadUpdaters(UpdaterServices *loader)
Definition: servicenotifiers.h:60
virtual LifeCycleEvent * clone()
Definition: servicenotifiers.h:55
UpdaterServices * _manager
Definition: servicenotifiers.h:44
virtual age_t requiredAgeClass()
Definition: servicenotifiers.h:64
virtual age_t removeAgeClass()
Definition: servicenotifiers.h:62
virtual void loadStatServices(StatServices *loader)
Definition: servicenotifiers.h:59
virtual void execute()
Definition: servicenotifiers.cc:45
virtual age_t addAgeClass()
Definition: servicenotifiers.h:63
FileHandler of the LCE_StatServiceNotifier class, writes the recorded stats to txt files.
Definition: servicenotifiers.h:130
virtual void FHread(string &filename)
Definition: servicenotifiers.h:150
virtual vector< string > ifExist()
Definition: servicenotifiers.cc:360
~LCE_StatFH()
Definition: servicenotifiers.h:143
LCE_StatFH()
Definition: servicenotifiers.h:136
StatServices * _statService
Definition: servicenotifiers.h:132
virtual void FHwrite()
Definition: servicenotifiers.cc:395
void PrintStat_byGen()
Definition: servicenotifiers.cc:432
void set_statService(StatServices *srv)
Definition: servicenotifiers.h:147
Initiates the StatServices' parameters (log time) when registering, calls StatServices::notify() when...
Definition: servicenotifiers.h:161
virtual age_t addAgeClass()
Definition: servicenotifiers.h:191
virtual age_t requiredAgeClass()
Definition: servicenotifiers.h:192
virtual void execute()
Definition: servicenotifiers.cc:345
string _dir
Definition: servicenotifiers.h:167
virtual LCE_StatServiceNotifier * clone()
Definition: servicenotifiers.h:184
virtual void loadStatServices(StatServices *loader)
Definition: servicenotifiers.cc:325
LCE_StatFH _fileHandler
Definition: servicenotifiers.h:169
LCE_StatServiceNotifier()
Definition: servicenotifiers.cc:200
virtual void loadFileServices(FileServices *loader)
Definition: servicenotifiers.h:187
bool setOccurence()
Definition: servicenotifiers.cc:272
virtual bool resetParameterFromSource(std::string param, SimComponent *cmpt)
Definition: servicenotifiers.h:189
unsigned int _occurrence
Definition: servicenotifiers.h:165
string _arg
Definition: servicenotifiers.h:167
virtual bool setParameters()
Definition: servicenotifiers.cc:228
virtual age_t removeAgeClass()
Definition: servicenotifiers.h:190
StatServices * _service
Definition: servicenotifiers.h:163
FileHandler & getFH()
Definition: servicenotifiers.h:177
bool dummyUpdate()
Definition: servicenotifiers.h:179
virtual ~LCE_StatServiceNotifier()
Definition: servicenotifiers.h:175
Base class of the Life Cycle Events, declares the LCE interface.
Definition: lifecycleevent.h:73
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
Class to update the simulation components' state during a simulation.
Definition: updaterservices.h:64
unsigned int age_t
Age class flags.
Definition: types.h:46

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