Class ToolVaccine¶
template <typename TSeq>
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 = -99Location in the agent. |
| epiworld_fast_int | queue_init = [**Queue**](classQueue.md)<TSeq>::NoOneChange of state when added to agent. |
| epiworld_fast_int | queue_post = [**Queue**](classQueue.md)<TSeq>::NoOneChange 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¶
function clone_ptr¶
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]¶
Implements Tool::set_susceptibility_reduction
function set_susceptibility_reduction [2/2]¶
Implements Tool::set_susceptibility_reduction
function set_susceptibility_reduction_fun¶
Implements Tool::set_susceptibility_reduction_fun
The documentation for this class was generated from the following file epiworld-src/include/epiworld/tools/vaccine.hpp