36 #ifndef _POPULATIONCONFIGGENERATORIMPLEMENTATION_HPP_
37 #define _POPULATIONCONFIGGENERATORIMPLEMENTATION_HPP_
40 #include "PopulationConfigGenerator.hpp"
41 #include "Trajectory.hpp"
77 virtual Population::Configs population_configs(
size_t generation_index,
78 const PopulationDataPtrs& population_datas)
const;
82 virtual std::string class_name()
const {
return "PopulationConfigGenerator_File";}
83 virtual Parameters parameters()
const;
84 virtual void configure(
const Parameters& parameters,
const Registry& registry);
88 std::string filename_;
89 std::vector<Population::Configs> population_configs_;
128 : PopulationConfigGenerator(
id)
131 virtual Population::Configs population_configs(
size_t generation_index,
132 const PopulationDataPtrs& population_datas)
const;
136 virtual std::string class_name()
const {
return "PopulationConfigGenerator_ConstantSize";}
137 virtual Parameters parameters()
const;
138 virtual void configure(
const Parameters& parameters,
const Registry& registry);
141 size_t population_size_;
152 size_t population_index_from;
153 size_t population_index_to;
154 TrajectoryPtr trajectory;
158 std::string configuration()
const;
162 typedef std::vector<MigrationRateTrajectoryInfo> MigrationRateTrajectoryInfos;
183 virtual Population::Configs population_configs(
size_t generation_index,
184 const PopulationDataPtrs& population_datas)
const;
188 virtual Parameters parameters()
const;
189 virtual void configure(
const Parameters& parameters,
const Registry& registry);
190 virtual void write_child_configurations(std::ostream& os, std::set<std::string>& ids_written)
const;
194 TrajectoryPtr population_size_trajectory_;
195 TrajectoryPtr migration_rate_trajectory_default_;
196 MigrationRateTrajectoryInfos migration_rate_trajectory_infos_;
198 typedef std::vector<TrajectoryPtrs> MigrationRateTrajectories;
199 MigrationRateTrajectories migration_rate_trajectories_;
201 virtual void initialize_default_trajectories() = 0;
205 void initialize_trajectories();
248 virtual std::string class_name()
const {
return "PopulationConfigGenerator_LinearSteppingStone";}
252 virtual void initialize_default_trajectories();
294 virtual std::string class_name()
const {
return "PopulationConfigGenerator_Island";}
298 virtual void initialize_default_trajectories();
302 #endif // _POPULATIONCONFIGGENERATORIMPLEMENTATION_HPP_