19 const std::vector<PolicyImpact> &sorted_impacts,
47 void clear() noexcept override;
50 const core::Identifier &risk_factor_key,
double value) override;
61 std::set<core::Identifier> factor_impact_;
62 std::unordered_map<
std::
size_t,
int> interventions_book_{};
64 int get_index_of_impact_by_age(
const unsigned int &age)
const noexcept;
65 double get_differential_impact(
int current_index,
int previous_index)
const;
Thread-safe communication channel data type.
Definition: channel.h:24
Health-GPS dynamic intervention policy scenario interface.
Definition: intervention_scenario.h:41
Implements the dynamic marketing regulation intervention scenario.
Definition: marketing_dynamic_scenario.h:34
const PolicyDynamic & dynamic() const noexcept override
Gets the System Dynamic model parameters.
Definition: marketing_dynamic_scenario.cpp:86
const PolicyInterval & active_period() const noexcept override
Gets the intervention active period.
Definition: marketing_dynamic_scenario.cpp:78
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: marketing_dynamic_scenario.cpp:36
SyncChannel & channel() override
Gets the Scenario communication channel.
Definition: marketing_dynamic_scenario.cpp:32
const std::vector< PolicyImpact > & impacts() const noexcept override
Gets the intervention impacts by risk factor and age range.
Definition: marketing_dynamic_scenario.cpp:82
void clear() noexcept override
Clear the scenario log book data.
Definition: marketing_dynamic_scenario.cpp:34
MarketingDynamicScenario()=delete
General purpose Random number generator algorithms.
Definition: random_algorithm.h:8
Top-level namespace for Health-GPS C++ API.
Definition: analysis_definition.h:8
Global namespace.
Definition: jsonparser.h:88
Dynamic marketing intervention definition data type.
Definition: marketing_dynamic_scenario.h:11
MarketingDynamicDefinition()=delete
PolicyDynamic dynamic
Population dynamic parameters.
Definition: marketing_dynamic_scenario.h:30
PolicyInterval active_period
Intervention active period.
Definition: marketing_dynamic_scenario.h:24
MarketingDynamicDefinition(const PolicyInterval &period, const std::vector< PolicyImpact > &sorted_impacts, PolicyDynamic dynamic)
Initialise a new instance of the MarketingDynamicDefinition structure.
Definition: marketing_dynamic_scenario.h:18
std::vector< PolicyImpact > impacts
Intervention impacts on risk factors.
Definition: marketing_dynamic_scenario.h:27
Defines a virtual population person data type.
Definition: person.h:40
Defines the policy dynamic parameters.
Definition: intervention_scenario.h:137
Defines the policy impact on risk factors data structure.
Definition: intervention_scenario.h:49
Defines the policy active interval.
Definition: intervention_scenario.h:97