BioCMAMC-ST
case_data.hpp
1#ifndef __CASE_DATA__HPP__
2#define __CASE_DATA__HPP__
3
4#include <common/execinfo.hpp>
5#include <core/simulation_parameters.hpp>
6#include <memory>
7#include <optional>
8#include <simulation/feed_descriptor.hpp>
9#include <simulation/simulation.hpp>
10#include <transitionner/transitionner.hpp>
11
15namespace Core
16{
17
27 struct CaseData
28 {
35 std::unique_ptr<Simulation::SimulationUnit> simulation;
36
44
52 std::unique_ptr<CmaUtils::FlowMapTransitionner> transitioner;
53
62 };
63
67 void exec(CaseData&& case_data);
68
69 std::optional<Core::CaseData>
70 load(const ExecInfo& exec,
71 const UserControlParameters&& params,
72 std::optional<Simulation::Feed::SimulationFeed> feed = std::nullopt);
73
95 runtime_init(int argc, char** argv, std::optional<std::size_t> force_run_id = std::nullopt);
96} // namespace Core
97
98#endif
Core component to perform simulation.
Definition data_exporter.hpp:18
std::optional< Core::CaseData > load(const ExecInfo &exec, const UserControlParameters &&params, std::optional< Simulation::Feed::SimulationFeed > feed=std::nullopt)
Definition case_data.cpp:86
void exec(CaseData &&case_data)
Start simulation.
Definition case_data.cpp:51
ExecInfo runtime_init(int argc, char **argv, std::optional< std::size_t > force_run_id=std::nullopt)
Initializes the runtime environment based on command-line arguments and simulation parameters.
Definition case_data.cpp:93
Holds the data required to execute a simulation case.
Definition case_data.hpp:28
ExecInfo exec_info
Information about the execution environment.
Definition case_data.hpp:61
SimulationParameters params
Parameters that configure the simulation.
Definition case_data.hpp:43
std::unique_ptr< CmaUtils::FlowMapTransitionner > transitioner
Unique pointer to the flow map transitioner.
Definition case_data.hpp:52
std::unique_ptr< Simulation::SimulationUnit > simulation
Unique pointer to the simulation unit.
Definition case_data.hpp:35
Definition simulation_parameters.hpp:53
A structure to hold user-defined control parameters for simulation settings.
Definition simulation_parameters.hpp:24
Definition execinfo.hpp:12