Program Listing for File Simulation.h#
↰ Return to documentation for file (includes\Simulation.h
)
#ifndef GENERALMETAPOP_SIMULATION_H
#define GENERALMETAPOP_SIMULATION_H
#include <array>
#include <vector>
#include <string>
#include <filesystem>
#include "constants.h"
#include "Params.h"
#include "InputParams.h"
#include "Point.h"
class Simulation {
public:
Simulation(InputParams input);
~Simulation();
void set_coords(const std::filesystem::path& filepath);
void set_boundary_type(BoundaryType boundary);
void set_dispersal_type(DispersalType disp);
void set_rainfall(const std::filesystem::path& filepath);
void set_release_times(const std::filesystem::path& filepath);
void set_inheritance(InheritanceParams inher_params);
void run_reps();
private:
int num_runs;
int max_t;
ModelParams *model_params;
RecordParams *rec_params;
SineRainfallParams *sine_rainfall_params;
InputRainfallParams *input_rainfall_params;
double alpha0_mean;
double alpha0_variance;
// additional parameter options
std::vector<Point> sites_coords;
std::vector<int> release_sites;
BoundaryType boundary_type;
DispersalType disp_type;
// inheritance
std::array<std::array<std::array <double, constants::num_gen>, constants::num_gen>, constants::num_gen> inher_fraction;
};
#endif //GENERALMETAPOP_SIMULATION_H