Nemo  2.3.56
Simulate forward-in-time genetic evolution in a spatially explicit, individual-based stochastic simulator
fileservices.h
Go to the documentation of this file.
1
32#ifndef FILESERVICES_H
33#define FILESERVICES_H
34
35#include <list>
36#include <string>
37#include <map>
38#include "service.h"
39#include "param.h"
40
41class Metapop;
42class Patch;
43
44class FileHandler;
45class FHLogWriter;
52class FileServices : public Service {
53
54private:
59
61 list< FileHandler* > _writers;
62
64 list< FileHandler* > _readers;
65
68
70 string _basename;
71
73 string _root_dir;
74
77 list< ParamSet* > _params;
78
80 unsigned int _mode;
81
83 unsigned int _patch_sample_size;
84
86
88
90
91public:
92
93 typedef std::list< FileHandler* >::const_iterator file_it;
94
95 FileServices ( );
96
97 virtual ~FileServices ( );
98
99 virtual bool init ( ) {return false;}
100
101 virtual void notify ();
107 bool init (list< ParamSet* >& params);
108
111 virtual Metapop* get_pop_ptr ( ) {return _popPtr;}
112
114 virtual void set_pop_ptr (Metapop* pop) {_popPtr = pop;}
115
117 void set_sampling_params(unsigned int size, age_t age) {_patch_sample_size = size; _patch_sample_age = age;}
118
120 void setMode(unsigned int m) {_mode = m;}
121
123 unsigned int getMode() {return _mode;}
124
126 void setBasename (string name);
127
129 void setRootDir (string name);
130
132 void log_simparams();
133
135 void log (string message);
136
138 list< ParamSet* >& get_params() {return _params;};
139
141 file_it getFirstWriter() {return _writers.begin();}
142
144 file_it getLastWriter () {return _writers.end();}
145
147 file_it getFirstReader() {return _readers.begin();}
148
150 file_it getLastReader () {return _readers.end();}
151
153 FileHandler* getReader (string& type);
154
156 string& getBaseFileName ();
157
159 string& getRootDir ();
160
162 string getReplicateCounter ();
163
165 string& getFirstReplicateFileName ();
166
168 string& getReplicateFileName ();
169
171 string getGenerationCounter ();
172
175
178
179 void subSamplePatch(sex_t SEX, age_idx AGE, Patch* source_patch, Patch* patch);
180
183 virtual void load ( SimComponent* sc );
184
187 virtual void attach ( Handler* FH );
188
191 virtual void attach_reader ( FileHandler* FH );
192
194 virtual void reset ( );
195
196};
197#endif //FILESERVICES_H
198
File Handler used to save the simulation parameters to a log file.
Definition: filehandler.h:272
Interface to handle file input/output for any SimComponent.
Definition: filehandler.h:53
A class to manage the files associated with each components of the simulation.
Definition: fileservices.h:52
string getGenerationCounter()
Accessor to the current generation counter string.
Definition: fileservices.cc:425
string & getReplicateFileName()
Accessor to the current replicate file name.
Definition: fileservices.cc:381
int _sampled_at_replicate
Definition: fileservices.h:87
void setBasename(string name)
Sets the base file name of the simulation.
Definition: fileservices.cc:438
Metapop * _sample_pop
Definition: fileservices.h:89
unsigned int _patch_sample_size
Number of individuals to sample from each patch for the file handlers.
Definition: fileservices.h:83
FileHandler * getReader(string &type)
Accessor to a specific file handler specified by its extension string.
Definition: fileservices.cc:456
virtual void notify()
Definition: fileservices.cc:188
string _basename
the base file name of the simulation, read from the init file (param "filename")
Definition: fileservices.h:70
void set_sampling_params(unsigned int size, age_t age)
Set the population sampling params.
Definition: fileservices.h:117
unsigned int _mode
File mode, sets behavior when file must be overwritten or not.
Definition: fileservices.h:80
list< ParamSet * > _params
the list of the parameters of the current simulation.
Definition: fileservices.h:77
list< FileHandler * > _writers
the list of the FileHandler's registered by the SimComponent in output mode
Definition: fileservices.h:61
Metapop * getSampledPop()
Sets the down-sampled population and provides accessor to file handlers.
Definition: fileservices.cc:197
file_it getFirstReader()
Accessor to first element of the list of input FileHandlers.
Definition: fileservices.h:147
void log(string message)
Write to the parameter logfile.
Definition: fileservices.cc:359
void setMode(unsigned int m)
Mode setter, determines if file will get overwritten or not.
Definition: fileservices.h:120
string getGenerationReplicateFileName()
Accessor to the current file name with generation and replicate counters added.
Definition: fileservices.cc:390
string _rep_filename
the file name associated with the current simulation replicate
Definition: fileservices.h:67
string & getFirstReplicateFileName()
Accessor to the first replicate file name.
Definition: fileservices.cc:366
string getReplicateCounter()
Accessor to the current replicate counter string.
Definition: fileservices.cc:412
virtual void attach_reader(FileHandler *FH)
Attaches the FileHandler to the current list (_readers) of the FileServices.
Definition: fileservices.cc:73
file_it getFirstWriter()
Accessor to first element of the list of output FileHandlers.
Definition: fileservices.h:141
age_t _patch_sample_age
Definition: fileservices.h:85
list< ParamSet * > & get_params()
Accessor to the list of the current parameters of the simulation.
Definition: fileservices.h:138
file_it getLastWriter()
Accessor to last element of the list of output FileHandlers.
Definition: fileservices.h:144
void subSamplePatch(sex_t SEX, age_idx AGE, Patch *source_patch, Patch *patch)
Definition: fileservices.cc:310
std::list< FileHandler * >::const_iterator file_it
Definition: fileservices.h:93
FHLogWriter * _logWriter
a FileHandler used to save the simulation parameters on disk.
Definition: fileservices.h:58
string & getRootDir()
Accessor to the name of the simulation's root output directory.
Definition: fileservices.cc:405
file_it getLastReader()
Accessor to last element of the list of input FileHandlers.
Definition: fileservices.h:150
void setRootDir(string name)
Sets the root directory of the simulation.
Definition: fileservices.cc:445
unsigned int getMode()
Writting mode getter.
Definition: fileservices.h:123
FileServices()
Definition: fileservices.cc:46
string & getBaseFileName()
Accessor to the base file name of the simulation.
Definition: fileservices.cc:398
Metapop * _popPtr
a pointer to the current Metapop
Definition: fileservices.h:56
list< FileHandler * > _readers
the list of the FileHandler's registered by the SimComponent in input mode
Definition: fileservices.h:64
virtual void set_pop_ptr(Metapop *pop)
Sets the Metapop reference.
Definition: fileservices.h:114
virtual bool init()
Definition: fileservices.h:99
int _sampled_at_generation
Definition: fileservices.h:87
string _root_dir
the root directory for the simulation's results, read from the init file (param "root_dir")
Definition: fileservices.h:73
virtual void load(SimComponent *sc)
Tells the SimComponent to load its file handlers.
Definition: fileservices.cc:81
virtual void attach(Handler *FH)
Attaches the FileHandler to the current list (_writers) of the FileServices.
Definition: fileservices.cc:60
void log_simparams()
Saves the current simulation parameters to the default parameter logfile.
Definition: fileservices.cc:349
virtual void reset()
Clears the list of FileHandlers.
Definition: fileservices.cc:340
virtual Metapop * get_pop_ptr()
Accessor to the pointer to the main population.
Definition: fileservices.h:111
virtual ~FileServices()
Definition: fileservices.cc:54
Service handler (an observer).
Definition: handler.h:36
Top class of the metapopulation structure, contains the patches.
Definition: metapop.h:80
Second class in the metapopulation design structure, between the Metapop and Individual classes.
Definition: metapop.h:430
Interface for the simulation services (files and stats).
Definition: service.h:43
Interface to all basic components of a simulation (traits, life cycle events, pop,...
Definition: simcomponent.h:45
void message(const char *message,...)
Definition: output.cc:40
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.3.56 by  doxygen 1.9.0 -- Nemo is hosted on  Download Nemo

Locations of visitors to this page
Catalogued on GSR