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

Defines the energy balance model data type. More...

#include <kevin_hall_model.h>

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

Public Member Functions

 KevinHallModelDefinition (std::unique_ptr< RiskFactorSexAgeTable > expected, std::unique_ptr< std::unordered_map< core::Identifier, double > > expected_trend, std::unique_ptr< std::unordered_map< core::Identifier, int > > trend_steps, std::unordered_map< core::Identifier, double > energy_equation, std::unordered_map< core::Identifier, core::DoubleInterval > nutrient_ranges, std::unordered_map< core::Identifier, std::map< core::Identifier, double > > nutrient_equations, std::unordered_map< core::Identifier, std::optional< double > > food_prices, std::unordered_map< core::Gender, std::vector< std::vector< double > > > weight_quantiles_by_stratum, std::vector< double > epa_quantiles, std::unordered_map< core::Gender, std::vector< HeightModelParams > > height_params)
 Initialises a new instance of the KevinHallModelDefinition class.
 
std::unique_ptr< RiskFactorModelcreate_model () const override
 Construct a new KevinHallModel from this definition.
 
- Public Member Functions inherited from hgps::RiskFactorAdjustableModelDefinition
 ~RiskFactorAdjustableModelDefinition () override=default
 Destroys a RiskFactorAdjustableModelDefinition instance.
 
 RiskFactorAdjustableModelDefinition (std::unique_ptr< RiskFactorSexAgeTable > expected, std::unique_ptr< std::unordered_map< core::Identifier, double > > expected_trend, std::unique_ptr< std::unordered_map< core::Identifier, int > > trend_steps, TrendType trend_type=TrendType::Null)
 Constructs a new RiskFactorAdjustableModelDefinition instance.
 
- Public Member Functions inherited from hgps::RiskFactorModelDefinition
virtual ~RiskFactorModelDefinition ()=default
 Destroys a RiskFactorModelDefinition instance.
 

Additional Inherited Members

- Protected Attributes inherited from hgps::RiskFactorAdjustableModelDefinition
std::shared_ptr< RiskFactorSexAgeTableexpected_
 
std::shared_ptr< std::unordered_map< core::Identifier, double > > expected_trend_
 
std::shared_ptr< std::unordered_map< core::Identifier, int > > trend_steps_
 
TrendType trend_type_
 

Detailed Description

Defines the energy balance model data type.

Constructor & Destructor Documentation

◆ KevinHallModelDefinition()

hgps::KevinHallModelDefinition::KevinHallModelDefinition ( std::unique_ptr< RiskFactorSexAgeTable expected,
std::unique_ptr< std::unordered_map< core::Identifier, double > >  expected_trend,
std::unique_ptr< std::unordered_map< core::Identifier, int > >  trend_steps,
std::unordered_map< core::Identifier, double >  energy_equation,
std::unordered_map< core::Identifier, core::DoubleInterval nutrient_ranges,
std::unordered_map< core::Identifier, std::map< core::Identifier, double > >  nutrient_equations,
std::unordered_map< core::Identifier, std::optional< double > >  food_prices,
std::unordered_map< core::Gender, std::vector< std::vector< double > > >  weight_quantiles_by_stratum,
std::vector< double >  epa_quantiles,
std::unordered_map< core::Gender, std::vector< HeightModelParams > >  height_params 
)

Initialises a new instance of the KevinHallModelDefinition class.

Parameters
expectedThe risk factor expected values by sex and age
expected_trendThe expected trend of risk factor values
trend_stepsThe number of time steps to apply the trend
energy_equationThe energy coefficients for each nutrient
nutrient_rangesThe interval boundaries for nutrient values
nutrient_equationsThe nutrient coefficients for each food group
food_pricesThe unit price for each food group
weight_quantiles_by_stratumWeight quantiles by gender and income adjustment stratum (each inner vector must be sorted).
epa_quantilesThe Energy / Physical Activity quantiles (must be sorted)
height_paramsHeight model parameters by gender and income adjustment stratum.
Exceptions
std::invalid_argumentfor empty arguments

Member Function Documentation

◆ create_model()

std::unique_ptr< RiskFactorModel > hgps::KevinHallModelDefinition::create_model ( ) const
overridevirtual

Construct a new KevinHallModel from this definition.

Returns
A unique pointer to the new KevinHallModel instance

Implements hgps::RiskFactorModelDefinition.


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