Health-GPS  1.2.2.0
Global Health Policy Simulation model (Health-GPS)
baseline_scenario.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "scenario.h"
4 #include <functional>
5 
6 namespace hgps {
7 
13 class BaselineScenario final : public Scenario {
14  public:
15  BaselineScenario() = delete;
18  BaselineScenario(SyncChannel &data_sync);
19 
20  ScenarioType type() const noexcept override;
21 
22  const std::string &name() const noexcept override;
23 
24  SyncChannel &channel() override;
25 
26  void clear() noexcept override;
27 
28  double apply(Random &generator, Person &entity, int time,
29  const core::Identifier &risk_factor_key, double value) override;
30 
31  private:
32  std::reference_wrapper<SyncChannel> channel_;
33  std::string name_{"Baseline"};
34 };
35 } // namespace hgps
Defines the baseline scenario data type.
Definition: baseline_scenario.h:13
double apply(Random &generator, Person &entity, int time, const core::Identifier &risk_factor_key, double value) override
Applies this Scenario to the Person instance.
Definition: baseline_scenario.cpp:15
const std::string & name() const noexcept override
Gets the scenario type name.
Definition: baseline_scenario.cpp:9
ScenarioType type() const noexcept override
Gets the scenario type identifier.
Definition: baseline_scenario.cpp:7
void clear() noexcept override
Clear the scenario log book data.
Definition: baseline_scenario.cpp:13
SyncChannel & channel() override
Gets the Scenario communication channel.
Definition: baseline_scenario.cpp:11
Thread-safe communication channel data type.
Definition: channel.h:24
General purpose Random number generator algorithms.
Definition: random_algorithm.h:8
Health-GPS simulation scenario interface.
Definition: scenario.h:30
Top-level namespace for Health-GPS C++ API.
Definition: analysis_definition.h:8
ScenarioType
Health GPS policy scenario types enumeration.
Definition: scenario.h:17
Global namespace.
Definition: jsonparser.h:88
Defines a virtual population person data type.
Definition: person.h:40