Health-GPS 3.0.0.0
Global Health Policy Simulation model (Health-GPS)
Loading...
Searching...
No Matches
hgps::MarketingDynamicScenario Class Referencefinal

Implements the dynamic marketing regulation intervention scenario. More...

#include <marketing_dynamic_scenario.h>

Inheritance diagram for hgps::MarketingDynamicScenario:
[legend]
Collaboration diagram for hgps::MarketingDynamicScenario:
[legend]

Public Member Functions

 MarketingDynamicScenario ()=delete
 
 MarketingDynamicScenario (SyncChannel &data_sync, MarketingDynamicDefinition &&definition)
 Initialises a new instance of the MarketingDynamicScenario class.
 
SyncChannelchannel () override
 Gets the Scenario communication channel.
 
void clear () noexcept override
 Clear the scenario log book data.
 
double apply (Random &generator, Person &entity, int time, const core::Identifier &risk_factor_key, double value) override
 Applies this Scenario to the Person instance.
 
const PolicyIntervalactive_period () const noexcept override
 Gets the intervention active period.
 
const std::vector< PolicyImpact > & impacts () const noexcept override
 Gets the intervention impacts by risk factor and age range.
 
const PolicyDynamicdynamic () const noexcept override
 Gets the System Dynamic model parameters.
 
- Public Member Functions inherited from hgps::InterventionScenario
ScenarioType type () const noexcept override
 Gets the scenario type identifier.
 
const std::string & name () const noexcept override
 Gets the scenario type name.
 
- Public Member Functions inherited from hgps::Scenario
virtual ~Scenario ()=default
 Destroys a Scenario instance.
 

Detailed Description

Implements the dynamic marketing regulation intervention scenario.

Constructor & Destructor Documentation

◆ MarketingDynamicScenario() [1/2]

hgps::MarketingDynamicScenario::MarketingDynamicScenario ( )
delete

◆ MarketingDynamicScenario() [2/2]

hgps::MarketingDynamicScenario::MarketingDynamicScenario ( SyncChannel data_sync,
MarketingDynamicDefinition &&  definition 
)

Initialises a new instance of the MarketingDynamicScenario class.

Parameters
data_syncThe data synchronisation channel instance to use.
definitionThe intervention definition
Exceptions
std::invalid_argumentnumber of impact levels mismatch.
std::out_of_rangefor overlapping or non-ordered impact levels.

Member Function Documentation

◆ active_period()

const PolicyInterval & hgps::MarketingDynamicScenario::active_period ( ) const
overridevirtualnoexcept

Gets the intervention active period.

Returns
Intervention period

Implements hgps::InterventionScenario.

◆ apply()

double hgps::MarketingDynamicScenario::apply ( Random generator,
Person entity,
int  time,
const core::Identifier risk_factor_key,
double  value 
)
overridevirtual

Applies this Scenario to the Person instance.

Parameters
generatorRandom number generator instance
entityPerson instance to apply
timeCurrent simulation time
risk_factor_keyTarget risk factor identifier
valueCurrent risk factor value
Returns
The risk factor new value

Implements hgps::Scenario.

Here is the call graph for this function:

◆ channel()

SyncChannel & hgps::MarketingDynamicScenario::channel ( )
overridevirtual

Gets the Scenario communication channel.

Returns
The communication channel

Implements hgps::Scenario.

◆ clear()

void hgps::MarketingDynamicScenario::clear ( )
overridevirtualnoexcept

Clear the scenario log book data.

Implements hgps::Scenario.

◆ dynamic()

const PolicyDynamic & hgps::MarketingDynamicScenario::dynamic ( ) const
overridevirtualnoexcept

Gets the System Dynamic model parameters.

Returns
Intervention dynamic parameters

Implements hgps::DynamicInterventionScenario.

◆ impacts()

const std::vector< PolicyImpact > & hgps::MarketingDynamicScenario::impacts ( ) const
overridevirtualnoexcept

Gets the intervention impacts by risk factor and age range.

Returns
Intervention impact on risk factors

Implements hgps::InterventionScenario.


The documentation for this class was generated from the following files: