Class BubbleTool¶
Tool carried by every agent under aBubbles policy.More...
#include <bubbles-bones.hpp>
Inherits the following classes: Tool
Public Functions¶
| Type | Name |
|---|---|
| BubbleTool (std::string name, std::string event_name) |
|
| virtual std::unique_ptr< Tool< TSeq > > | clone_ptr () override const |
| virtual epiworld_double | get_susceptibility_reduction (VirusPtr< TSeq > & v, Model< TSeq > * model) override Reduction applied to an exposure of this tool's agent. |
Public Functions inherited from Tool¶
See Tool
Protected Attributes inherited from Tool¶
See Tool
| Type | Name |
|---|---|
| Agent< TSeq > * | agent = [**nullptr**](classModel.md) |
| int | date = -99 |
| ToolFun< TSeq > | death_reduction = [**nullptr**](classModel.md) |
| ToolToAgentFun< TSeq > | dist = [**nullptr**](classModel.md) |
| int | id = -99 |
| int | pos_in_agent = -99Location in the agent. |
| epiworld_fast_int | queue_init = [**Queue**](classQueue.md)<[**TSeq**](classModel.md)>::NoOneChange of state when added to agent. |
| epiworld_fast_int | queue_post = [**Queue**](classQueue.md)<[**TSeq**](classModel.md)>::NoOneChange of state when removed from agent. |
| ToolFun< TSeq > | recovery_enhancer = [**nullptr**](classModel.md) |
| epiworld_fast_int | state_init = -99 |
| epiworld_fast_int | state_post = -99 |
| ToolFun< TSeq > | susceptibility_reduction = [**nullptr**](classModel.md) |
| std::string | tool_name |
| ToolFun< TSeq > | transmission_reduction = [**nullptr**](classModel.md) |
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 tool does not hold the bubble partition it holds a pointer to the Bubbles intervention that owns it, resolved by name from the model the first time the tool is used. clone_ptr() clears that pointer, exactly as ToolVaccine clears its per-agent immunity, so a copy of the tool always re-resolves against the model it ends up in. Copies of a model therefore never reach into the model they were copied from, which is what lets bubble models run in parallel replicates.
Users do not instantiate this directly; the intervention hands it to every agent when it sets itself up, at the start of each run.
Template parameters:
TSeqSequence type (should matchTSeqacross the model).
Public Functions Documentation¶
function BubbleTool¶
function clone_ptr¶
Implements Tool::clone_ptr
function get_susceptibility_reduction¶
Reduction applied to an exposure of this tool's agent.
inline virtual epiworld_double BubbleTool::get_susceptibility_reduction (
VirusPtr < TSeq > & v,
Model < TSeq > * model
) override
0.0 when the transmitter shares the agent's bubble (contacts inside the bubble are what the policy preserves), and 1 - f otherwise, where f is the intervention's transmission factor. Outside the policy window, or before a partition exists, the reduction is 0.0.
Implements Tool::get_susceptibility_reduction
The documentation for this class was generated from the following file include/epiworld/globalevents/bubbles-bones.hpp