Skip to content

Class ToolVaccine

template <typename TSeq>

ClassList > ToolVaccine

Template for a common vaccine. More...

  • #include <vaccine.hpp>

Inherits the following classes: Tool

Public Functions

Type Name
ToolVaccine (std::string name="Vaccine")
virtual std::unique_ptr< Tool< TSeq > > clone_ptr () override const
virtual epiworld_double get_susceptibility_reduction (VirusPtr< TSeq > & v, Model< TSeq > * model) override
virtual void set_susceptibility_reduction (std::string param) override
virtual void set_susceptibility_reduction (epiworld_double prob) override
virtual void set_susceptibility_reduction_fun (ToolFun< TSeq > fun) override

Public Functions inherited from Tool

See Tool

Type Name
EPI_TYPENAME_TRAITS (TSeq, int)
Tool ()
Tool (std::string name="unknown tool")
Tool (std::string name, epiworld_double prevalence, bool as_proportion)
virtual std::unique_ptr< Tool< TSeq > > clone_ptr () const
void distribute (Model< TSeq > * model)
Agent< TSeq > * get_agent ()
int get_date () const
virtual epiworld_double get_death_reduction (VirusPtr< TSeq > & v, Model< TSeq > * model)
int get_id () const
virtual std::string get_name () const
void get_queue (epiworld_fast_int * init, epiworld_fast_int * post)
virtual epiworld_double get_recovery_enhancer (VirusPtr< TSeq > & v, Model< TSeq > * model)
void get_state (epiworld_fast_int * init, epiworld_fast_int * post)
virtual epiworld_double get_susceptibility_reduction (VirusPtr< TSeq > & v, Model< TSeq > * model)
virtual epiworld_double get_transmission_reduction (VirusPtr< TSeq > & v, Model< TSeq > * model)
bool operator!= (const Tool< TSeq > & other) const
bool operator== (const Tool< TSeq > & other) const
bool operator== (const Tool< std::vector< int > > & other) const
void print () const
void set_date (int d)
virtual void set_death_reduction (std::string param)
virtual void set_death_reduction (epiworld_double * prob) = delete
virtual void set_death_reduction (epiworld_double prob)
virtual void set_death_reduction_fun (ToolFun< TSeq > fun)
void set_distribution (ToolToAgentFun< TSeq > fun)
void set_id (int id)
void set_name (std::string name)
void set_queue (epiworld_fast_int init, epiworld_fast_int post)
virtual void set_recovery_enhancer (std::string param)
virtual void set_recovery_enhancer (epiworld_double * prob) = delete
virtual void set_recovery_enhancer (epiworld_double prob)
virtual void set_recovery_enhancer_fun (ToolFun< TSeq > fun)
void set_sequence (TSeq d)
void set_sequence (std::shared_ptr< TSeq > d)
void set_sequence (int d)
void set_state (epiworld_fast_int init, epiworld_fast_int post)
virtual void set_susceptibility_reduction (std::string param)
virtual void set_susceptibility_reduction (epiworld_double * prob) = delete
virtual void set_susceptibility_reduction (epiworld_double prob)
virtual void set_susceptibility_reduction_fun (ToolFun< TSeq > fun)
virtual void set_transmission_reduction (std::string param)
virtual void set_transmission_reduction (epiworld_double * prob) = delete
virtual void set_transmission_reduction (epiworld_double prob)
virtual void set_transmission_reduction_fun (ToolFun< TSeq > fun)
virtual ~Tool () = default

Protected Attributes inherited from Tool

See Tool

Type Name
Agent< TSeq > * agent = nullptr
int date = -99
ToolFun< TSeq > death_reduction = nullptr
ToolToAgentFun< TSeq > dist = nullptr
int id = -99
int pos_in_agent = -99
Location in the agent.
epiworld_fast_int queue_init = [**Queue**](classQueue.md)&lt;TSeq&gt;::NoOne
Change of state when added to agent.
epiworld_fast_int queue_post = [**Queue**](classQueue.md)&lt;TSeq&gt;::NoOne
Change of state when removed from agent.
ToolFun< TSeq > recovery_enhancer = nullptr
epiworld_fast_int state_init = -99
epiworld_fast_int state_post = -99
ToolFun< TSeq > susceptibility_reduction = nullptr
std::string tool_name
ToolFun< TSeq > transmission_reduction = nullptr

Protected Functions inherited from Tool

See Tool

Type Name
EPI_TYPENAME_TRAITS (TSeq, int)
Sequence of the tool.
void set_agent (Agent< TSeq > * p, size_t idx)

Detailed Description

The main difference with a regular tool is that the reduction in susceptibility is at the agent level and fixed for the entire simulation. In other words, if the efficacy is 65%, then 65% of the agents that receive the vaccine will be fully protected (100% reduction in susceptibility) and 35% will not be protected at all (0% reduction in susceptibility).

Public Functions Documentation

function ToolVaccine

inline ToolVaccine::ToolVaccine (
    std::string name="Vaccine"
) 

function clone_ptr

inline virtual std::unique_ptr< Tool < TSeq > > ToolVaccine::clone_ptr () override const

Implements Tool::clone_ptr


function get_susceptibility_reduction

inline virtual epiworld_double ToolVaccine::get_susceptibility_reduction (
    VirusPtr < TSeq > & v,
    Model < TSeq > * model
) override

Implements Tool::get_susceptibility_reduction


function set_susceptibility_reduction [1/2]

inline virtual void ToolVaccine::set_susceptibility_reduction (
    std::string param
) override

Implements Tool::set_susceptibility_reduction


function set_susceptibility_reduction [2/2]

inline virtual void ToolVaccine::set_susceptibility_reduction (
    epiworld_double prob
) override

Implements Tool::set_susceptibility_reduction


function set_susceptibility_reduction_fun

inline virtual void ToolVaccine::set_susceptibility_reduction_fun (
    ToolFun < TSeq > fun
) override

Implements Tool::set_susceptibility_reduction_fun



The documentation for this class was generated from the following file epiworld-src/include/epiworld/tools/vaccine.hpp