UncertainContactMatrix< FP > Class Template Reference

CPP API: mio::UncertainContactMatrix< FP > Class Template Reference
mio::UncertainContactMatrix< FP > Class Template Reference

The UncertainContactMatrix class consists of a ContactMatrix with fixed baseline and uncertain Dampings. More...

#include <uncertain_matrix.h>

Public Member Functions

ContactMatrixGroup< FP > draw_sample (bool accum=false)
 Samples dampings and adds them to the contact matrix. More...
 
void draw_sample_dampings ()
 draw sample of all dampings. More...
 
ContactMatrixGroup< FP > & get_cont_freq_mat ()
 Returns the ContactMatrix reference of the UncertainContactMatrix object. More...
 
ContactMatrixGroup< FP > const & get_cont_freq_mat () const
 Returns the const ContactMatrix reference of the UncertainContactMatrix object. More...
 
ContactMatrixGroup< FP > make_matrix (bool accum=false)
 create the contact matrix using the sampled dampings. More...
 
 operator ContactMatrixGroup< FP > & ()
 Conversion to ContactMatrix reference by returning the ContactMatrix contained in UncertainContactMatrix. More...
 
 operator ContactMatrixGroup< FP > const & () const
 Conversion to const ContactMatrix reference by returning the ContactMatrix contained in UncertainContactMatrix. More...
 
UncertainContactMatrix< FP > & operator= (const ContactMatrixGroup< FP > &cont_freq)
 Set an UncertainContactMatrix from a ContactMatrix, all distributions remain unchanged. More...
 
template<class IOContext >
void serialize (IOContext &io) const
 serialize this. More...
 
 UncertainContactMatrix (const ContactMatrixGroup< FP > &cont_freq)
 
 UncertainContactMatrix (size_t num_matrices=1, Eigen::Index num_groups=1)
 
const std::vector< DampingSampling< FP > > & get_dampings () const
 Get a list of uncertain Dampings that are sampled and added to the contact matrix. More...
 
std::vector< DampingSampling< FP > > & get_dampings ()
 Get a list of uncertain Dampings that are sampled and added to the contact matrix. More...
 
const DampingSampling< FP > & get_school_holiday_damping () const
 Damping that is active during school holiday periods. More...
 
DampingSampling< FP > & get_school_holiday_damping ()
 Damping that is active during school holiday periods. More...
 
std::vector< std::pair< SimulationTime< FP >, SimulationTime< FP > > > & get_school_holidays ()
 list of school holiday periods. More...
 
const std::vector< std::pair< SimulationTime< FP >, SimulationTime< FP > > > & get_school_holidays () const
 list of school holiday periods. More...
 

Static Public Member Functions

template<class IOContext >
static IOResult< UncertainContactMatrix< FP > > deserialize (IOContext &io)
 deserialize an object of this class. More...
 

Private Attributes

ContactMatrixGroup< FP > m_cont_freq
 
std::vector< DampingSampling< FP > > m_dampings
 
DampingSampling< FP > m_school_holiday_damping
 
std::vector< std::pair< SimulationTime< FP >, SimulationTime< FP > > > m_school_holidays
 

Detailed Description

template<typename FP>
class mio::UncertainContactMatrix< FP >

The UncertainContactMatrix class consists of a ContactMatrix with fixed baseline and uncertain Dampings.

The UncertainContactMatrix class represents a matrix-style model parameter that can take a ContactMatrix value but that is subjected to a uncertainty, based on contact pattern changes realized by zero or more dampings with uncertain coefficients that are sampled to modify the contacts at some points in time.

See also
UncertainValue

Constructor & Destructor Documentation

◆ UncertainContactMatrix() [1/2]

template<typename FP >
mio::UncertainContactMatrix< FP >::UncertainContactMatrix ( size_t  num_matrices = 1,
Eigen::Index  num_groups = 1 
)
inline

◆ UncertainContactMatrix() [2/2]

template<typename FP >
mio::UncertainContactMatrix< FP >::UncertainContactMatrix ( const ContactMatrixGroup< FP > &  cont_freq)
inline

Member Function Documentation

◆ deserialize()

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

deserialize an object of this class.

See also
mio::deserialize

◆ draw_sample()

template<typename FP >
ContactMatrixGroup<FP> mio::UncertainContactMatrix< FP >::draw_sample ( bool  accum = false)
inline

Samples dampings and adds them to the contact matrix.

Parameters
accumaccumulating current and newly sampled dampings if true; default: false; removing all previously set dampings

◆ draw_sample_dampings()

template<typename FP >
void mio::UncertainContactMatrix< FP >::draw_sample_dampings ( )
inline

draw sample of all dampings.

◆ get_cont_freq_mat() [1/2]

template<typename FP >
ContactMatrixGroup<FP>& mio::UncertainContactMatrix< FP >::get_cont_freq_mat ( )
inline

Returns the ContactMatrix reference of the UncertainContactMatrix object.

◆ get_cont_freq_mat() [2/2]

template<typename FP >
ContactMatrixGroup<FP> const& mio::UncertainContactMatrix< FP >::get_cont_freq_mat ( ) const
inline

Returns the const ContactMatrix reference of the UncertainContactMatrix object.

◆ get_dampings() [1/2]

template<typename FP >
std::vector<DampingSampling<FP> >& mio::UncertainContactMatrix< FP >::get_dampings ( )
inline

Get a list of uncertain Dampings that are sampled and added to the contact matrix.

Returns
list of damping samplings.

◆ get_dampings() [2/2]

template<typename FP >
const std::vector<DampingSampling<FP> >& mio::UncertainContactMatrix< FP >::get_dampings ( ) const
inline

Get a list of uncertain Dampings that are sampled and added to the contact matrix.

Returns
list of damping samplings.

◆ get_school_holiday_damping() [1/2]

template<typename FP >
DampingSampling<FP>& mio::UncertainContactMatrix< FP >::get_school_holiday_damping ( )
inline

Damping that is active during school holiday periods.

time is ignored and taken from holidays instead.

◆ get_school_holiday_damping() [2/2]

template<typename FP >
const DampingSampling<FP>& mio::UncertainContactMatrix< FP >::get_school_holiday_damping ( ) const
inline

Damping that is active during school holiday periods.

time is ignored and taken from holidays instead.

◆ get_school_holidays() [1/2]

template<typename FP >
std::vector<std::pair<SimulationTime<FP>, SimulationTime<FP> > >& mio::UncertainContactMatrix< FP >::get_school_holidays ( )
inline

list of school holiday periods.

one period is a pair of start and end dates.

◆ get_school_holidays() [2/2]

template<typename FP >
const std::vector<std::pair<SimulationTime<FP>, SimulationTime<FP> > >& mio::UncertainContactMatrix< FP >::get_school_holidays ( ) const
inline

list of school holiday periods.

one period is a pair of start and end dates.

◆ make_matrix()

template<typename FP >
ContactMatrixGroup<FP> mio::UncertainContactMatrix< FP >::make_matrix ( bool  accum = false)
inline

create the contact matrix using the sampled dampings.

Parameters
accumaccumulating current and newly dampings if true; default: false; removing all previously set dampings

◆ operator ContactMatrixGroup< FP > &()

template<typename FP >
mio::UncertainContactMatrix< FP >::operator ContactMatrixGroup< FP > & ( )
inline

Conversion to ContactMatrix reference by returning the ContactMatrix contained in UncertainContactMatrix.

◆ operator ContactMatrixGroup< FP > const &()

template<typename FP >
mio::UncertainContactMatrix< FP >::operator ContactMatrixGroup< FP > const & ( ) const
inline

Conversion to const ContactMatrix reference by returning the ContactMatrix contained in UncertainContactMatrix.

◆ operator=()

template<typename FP >
UncertainContactMatrix<FP>& mio::UncertainContactMatrix< FP >::operator= ( const ContactMatrixGroup< FP > &  cont_freq)
inline

Set an UncertainContactMatrix from a ContactMatrix, all distributions remain unchanged.

◆ serialize()

template<typename FP >
template<class IOContext >
void mio::UncertainContactMatrix< FP >::serialize ( IOContext &  io) const
inline

serialize this.

See also
mio::serialize

Member Data Documentation

◆ m_cont_freq

template<typename FP >
ContactMatrixGroup<FP> mio::UncertainContactMatrix< FP >::m_cont_freq
private

◆ m_dampings

template<typename FP >
std::vector<DampingSampling<FP> > mio::UncertainContactMatrix< FP >::m_dampings
private

◆ m_school_holiday_damping

template<typename FP >
DampingSampling<FP> mio::UncertainContactMatrix< FP >::m_school_holiday_damping
private

◆ m_school_holidays

template<typename FP >
std::vector<std::pair<SimulationTime<FP>, SimulationTime<FP> > > mio::UncertainContactMatrix< FP >::m_school_holidays
private