Parameters< FP > Class Template Reference

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

Parameters of SIR model. More...

#include <parameters.h>

Inheritance diagram for mio::osir::Parameters< FP >:
Collaboration diagram for mio::osir::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 ()
 
 Parameters (AgeGroup num_agegroups)
 
- 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...
 

Static Public Member Functions

template<class IOContext >
static IOResult< Parametersdeserialize (IOContext &io)
 deserialize an object of this class. More...
 
- 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...
 

Private Member Functions

 Parameters (ParametersBase< FP > &&base)
 

Private Attributes

AgeGroup m_num_groups
 

Detailed Description

template<typename FP>
class mio::osir::Parameters< FP >

Parameters of SIR model.

Constructor & Destructor Documentation

◆ Parameters() [1/2]

template<typename FP >
mio::osir::Parameters< FP >::Parameters ( AgeGroup  num_agegroups)
inline

◆ Parameters() [2/2]

template<typename FP >
mio::osir::Parameters< FP >::Parameters ( ParametersBase< FP > &&  base)
inlineprivate

Member Function Documentation

◆ apply_constraints()

template<typename FP >
bool mio::osir::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<typename FP >
bool mio::osir::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.

◆ deserialize()

template<typename FP >
template<class IOContext >
static IOResult<Parameters> mio::osir::Parameters< FP >::deserialize ( IOContext &  io)
inlinestatic

deserialize an object of this class.

See also
mio::deserialize

◆ get_num_groups()

template<typename FP >
AgeGroup mio::osir::Parameters< FP >::get_num_groups ( )
inline

Member Data Documentation

◆ m_num_groups

template<typename FP >
AgeGroup mio::osir::Parameters< FP >::m_num_groups
private