Health-GPS  1.2.2.0
Global Health Policy Simulation model (Health-GPS)
simulation_definition.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "modelinput.h"
4 #include "randombit_generator.h"
5 #include "scenario.h"
6 
7 #include <functional>
8 #include <memory>
9 
10 namespace hgps {
11 
15 
20  SimulationDefinition(ModelInput &inputs, std::unique_ptr<Scenario> scenario,
21  std::unique_ptr<RandomBitGenerator> generator);
22 
25  const ModelInput &inputs() const noexcept;
26 
29  Scenario &scenario() noexcept;
30 
33  RandomBitGenerator &rnd() noexcept;
34 
37  const std::string &identifier() const noexcept;
38 
39  private:
40  std::reference_wrapper<ModelInput> inputs_;
41  std::unique_ptr<Scenario> scenario_;
42  std::unique_ptr<RandomBitGenerator> rnd_;
43  std::string identifier_;
44 };
45 } // namespace hgps
Defines the Simulation model inputs data type.
Definition: modelinput.h:43
Pseudo-random number generator algorithm interface.
Definition: randombit_generator.h:9
Health-GPS simulation scenario interface.
Definition: scenario.h:30
Top-level namespace for Health-GPS C++ API.
Definition: analysis_definition.h:8
Global namespace.
Definition: jsonparser.h:88
Simulation experiment definition data type.
Definition: simulation_definition.h:13
Scenario & scenario() noexcept
Gets a reference to the simulation scenario instance.
Definition: simulation_definition.cpp:11
const ModelInput & inputs() const noexcept
Gets a read-only reference to the model inputs definition.
Definition: simulation_definition.cpp:9
RandomBitGenerator & rnd() noexcept
Gets a reference to the pseudo-random number generator instance.
Definition: simulation_definition.cpp:13
const std::string & identifier() const noexcept
Gets the simulation scenario identifier.
Definition: simulation_definition.cpp:15