Class measles::SamplerMixing¶
template <typename TSeq>
ClassList > measles > SamplerMixing
Reusable contact sampler for mixing models with two infectious stages. More...
#include <measles.hpp>
Public Functions¶
| Type | Name |
|---|---|
| SamplerMixing () = default Default constructor. |
|
| SamplerMixing (int primary_infectious_state_, int reduced_infectious_state_, std::string reduced_contact_reduction_param_, std::vector< int > contact_states_) Constructs and configures the sampler. |
|
| void | configure (int primary_infectious_state_, int reduced_infectious_state_, std::string reduced_contact_reduction_param_, std::vector< int > contact_states_) Configures state indices and contact-selection settings. |
| const std::vector< size_t > & | get_sampled_agents () const Returns the internal sampled-agent buffer (const). |
| std::vector< size_t > & | get_sampled_agents () Returns the internal sampled-agent buffer. |
| void | reset (Model< TSeq > & model) Resets internal buffers and recomputes infectious pools. |
| size_t | sample (Agent< TSeq > * agent, Model< TSeq > & model, const ContactMatrix & contact_matrix) Samples infectious contacts into the internal sampled-agent buffer. |
| size_t | sample (Agent< TSeq > * agent, Model< TSeq > & model, const ContactMatrix & contact_matrix, std::vector< size_t > & sampled_agents_) Samples infectious contacts into a user-provided buffer. |
| void | update (Model< TSeq > & model) Updates infectious pools and per-group sampling weights. |
Detailed Description¶
The sampler keeps the per-entity infectious-agent accounting and contact sampling buffer used by ModelMeaslesMixing. The primary infectious state is sampled at full weight; the reduced infectious state is sampled with a relative contact rate computed as 1 minus a model parameter such as "Rash reduction contact rate".
Template parameters:
TSeqType for genetic sequences (default: EPI_DEFAULT_TSEQ)
Public Functions Documentation¶
function SamplerMixing [1/2]¶
Default constructor.
function SamplerMixing [2/2]¶
Constructs and configures the sampler.
inline measles::SamplerMixing::SamplerMixing (
int primary_infectious_state_,
int reduced_infectious_state_,
std::string reduced_contact_reduction_param_,
std::vector< int > contact_states_
)
Parameters:
primary_infectious_state_State index for fully infectious agents.reduced_infectious_state_State index for reduced-infectious agents.reduced_contact_reduction_param_Model parameter name controlling reduced infectious contact reduction.contact_states_Explicit states eligible for contact.
function configure¶
Configures state indices and contact-selection settings.
inline void measles::SamplerMixing::configure (
int primary_infectious_state_,
int reduced_infectious_state_,
std::string reduced_contact_reduction_param_,
std::vector< int > contact_states_
)
Parameters:
primary_infectious_state_State index for fully infectious agents.reduced_infectious_state_State index for reduced-infectious agents.reduced_contact_reduction_param_Model parameter name controlling reduced infectious contact reduction.contact_states_Explicit states eligible for contact.
function get_sampled_agents [1/2]¶
Returns the internal sampled-agent buffer (const).
function get_sampled_agents [2/2]¶
Returns the internal sampled-agent buffer.
function reset¶
Resets internal buffers and recomputes infectious pools.
Parameters:
modelModel containing current agents and entities.
function sample [1/2]¶
Samples infectious contacts into the internal sampled-agent buffer.
inline size_t measles::SamplerMixing::sample (
Agent < TSeq > * agent,
Model < TSeq > & model,
const ContactMatrix & contact_matrix
)
Parameters:
agentAgent for which contacts are sampled.modelModel containing current agent states.contact_matrixMatrix with between-group contact rates.
Returns:
Number of sampled contacts written to the internal buffer.
function sample [2/2]¶
Samples infectious contacts into a user-provided buffer.
inline size_t measles::SamplerMixing::sample (
Agent < TSeq > * agent,
Model < TSeq > & model,
const ContactMatrix & contact_matrix,
std::vector< size_t > & sampled_agents_
)
Parameters:
agentAgent for which contacts are sampled.modelModel containing current agent states.contact_matrixMatrix with between-group contact rates.sampled_agents_Output buffer receiving sampled agent ids.
Returns:
Number of sampled contacts written to sampled_agents_.
function update¶
Updates infectious pools and per-group sampling weights.
Parameters:
modelModel containing current agents and entities.
The documentation for this class was generated from the following file include/measles/samplermixing.hpp