Parameters< FP > Class Template Reference

CPP API: mio::oseirv::Parameters< FP > Class Template Reference
mio::oseirv::Parameters< FP > Class Template Reference

Parameter set for the age-resolved SEIRV model (S,E,I,R plus vaccinated states) as per the appendix. More...

#include <parameters.h>

Inheritance diagram for mio::oseirv::Parameters< FP >:
Collaboration diagram for mio::oseirv::Parameters< FP >:

Public Member Functions

bool apply_constraints ()
 Checks whether all Parameters satisfy their corresponding constraints and applies them, if they do not. More...
 
bool check_constraints () const
 Checks whether all Parameters satisfy their corresponding constraints and logs an error if constraints are not satisfied. More...
 
AgeGroup get_num_groups () const
 Returns the number of age groups. More...
 
 Parameters (AgeGroup ng)
 Construct with the number of age groups. More...
 
- Public Member Functions inherited from mio::ParameterSet< Tags >
template<class Tag >
ParameterTagTraits< Tag >::Type & get ()
 get value of a parameter More...
 
template<class Tag >
const ParameterTagTraits< Tag >::Type & get () const
 get value of a parameter More...
 
bool operator!= (const ParameterSet &b) const
 
bool operator== (const ParameterSet &b) const
 
template<class Dummy = void, class = std::enable_if_t< details::AllOf<has_get_default_member_function, ParameterTagTraits<Tags>...>::value, Dummy>>
 ParameterSet ()
 default initializing constructor Initializes each parameter using either the get_default function defined in the parameter tag or the default constructor. More...
 
template<class Dummy = void, class = std::enable_if_t<details::AllOf<std::is_default_constructible, typename Tags::Type...>::value, Dummy>>
 ParameterSet (NoDefaultInit)
 Non-initializing default constructor. More...
 
template<class T1 , class... TN, class = std::enable_if_t< !std::is_same_v<std::decay_t<T1>, ParameterSet> && details::AllOf<details::BindTail<has_get_default_member_function, T1, TN...>::template type, ParameterTagTraits<Tags>...>::value>>
 ParameterSet (T1 &&arg1, TN &&... argn)
 default initializing constructor. More...
 
template<class IOContext >
void serialize (IOContext &io) const
 serialize this. More...
 
template<class Tag >
void set (const typename ParameterTagTraits< Tag >::Type &value)
 set value of a parameter More...
 
template<class Tag , class T >
void set (T &&arg)
 set value of a parameter More...
 
template<class Tag , class... T>
std::enable_if_t< has_get_default_member_function< ParameterTagTraits< Tag >, T... >::value, void > set_default (T &&... ts)
 (re)set parameter to its default value More...
 

Private Attributes

AgeGroup m_num_groups
 

Additional Inherited Members

- Static Public Member Functions inherited from mio::ParameterSet< Tags >
template<class IOContext >
static IOResult< ParameterSetdeserialize (IOContext &io)
 deserialize an object of this class. More...
 
static constexpr size_t size ()
 returns the number of parameters More...
 

Detailed Description

template<class FP>
class mio::oseirv::Parameters< FP >

Parameter set for the age-resolved SEIRV model (S,E,I,R plus vaccinated states) as per the appendix.

Contains seasonality, contact-pattern and immunity/vaccination parameters. Model time unit is week; contact matrices may be time-dependent (damping).

Constructor & Destructor Documentation

◆ Parameters()

template<class FP >
mio::oseirv::Parameters< FP >::Parameters ( AgeGroup  ng)
inline

Construct with the number of age groups.

Parameters
ngNumber of age groups.

Member Function Documentation

◆ apply_constraints()

template<class FP >
bool mio::oseirv::Parameters< FP >::apply_constraints ( )
inline

Checks whether all Parameters satisfy their corresponding constraints and applies them, if they do not.

Time spans cannot be negative and probabilities can only take values between [0,1].

Attention: This function should be used with care. It is necessary for some test problems to run through quickly, but in a manual execution of an example, check_constraints() may be preferred. Note that the apply_constraints() function can and will not set Parameters to meaningful values in an epidemiological or virological context, as all models are designed to be transferable to multiple diseases. Consequently, only acceptable (like 0 or 1 for probabilities or small positive values for time spans) values are set here and a manual adaptation may often be necessary to have set meaningful values.

Returns
Returns true if one ore more constraint were corrected, false otherwise.

◆ check_constraints()

template<class FP >
bool mio::oseirv::Parameters< FP >::check_constraints ( ) const
inline

Checks whether all Parameters satisfy their corresponding constraints and logs an error if constraints are not satisfied.

Returns
Returns true if one constraint is not satisfied, otherwise false.

◆ get_num_groups()

template<class FP >
AgeGroup mio::oseirv::Parameters< FP >::get_num_groups ( ) const
inline

Returns the number of age groups.

Member Data Documentation

◆ m_num_groups

template<class FP >
AgeGroup mio::oseirv::Parameters< FP >::m_num_groups
private