#include <AbstractCardiacCellWithModifiers.hpp>
Public Member Functions | |
AbstractCardiacCellWithModifiers (boost::shared_ptr< AbstractIvpOdeSolver > pOdeSolver, unsigned numberOfStateVariables, unsigned voltageIndex, boost::shared_ptr< AbstractStimulusFunction > pIntracellularStimulus) | |
boost::shared_ptr < AbstractModifier > | GetModifier (const std::string &rModifierName) |
bool | HasModifier (const std::string &rModifierName) const |
void | SetModifier (const std::string &rModifierName, boost::shared_ptr< AbstractModifier > &pNewModifier) |
Protected Member Functions | |
void | AddModifier (std::string modifierName, boost::shared_ptr< AbstractModifier > &pModifier) |
Private Attributes | |
std::map< std::string, boost::shared_ptr < AbstractModifier > * > | mModifiersMap |
Definition at line 49 of file AbstractCardiacCellWithModifiers.hpp.
AbstractCardiacCellWithModifiers< CARDIAC_CELL >::AbstractCardiacCellWithModifiers | ( | boost::shared_ptr< AbstractIvpOdeSolver > | pOdeSolver, | |
unsigned | numberOfStateVariables, | |||
unsigned | voltageIndex, | |||
boost::shared_ptr< AbstractStimulusFunction > | pIntracellularStimulus | |||
) | [inline] |
Create a new cardiac cell.
This calls the main CARDIAC_CELL constructor, but also supplies modifiers for working with metadata-enabled CellML files.
pOdeSolver | the ODE solver to use when simulating this cell | |
numberOfStateVariables | the size of the ODE system modelling this cell | |
voltageIndex | the index of the transmembrane potential within the vector of state variables | |
pIntracellularStimulus | the intracellular stimulus current |
Definition at line 40 of file AbstractCardiacCellWithModifiers.cpp.
References AbstractCardiacCellWithModifiers< CARDIAC_CELL >::mModifiersMap.
void AbstractCardiacCellWithModifiers< CARDIAC_CELL >::AddModifier | ( | std::string | modifierName, | |
boost::shared_ptr< AbstractModifier > & | pModifier | |||
) | [inline, protected] |
Add a new modifier - should only be called by the subclass constructors. Each modifier pointer is set to a DummyModifier by this method.
modifierName | The name which will act as a 'key' for this modifier. | |
pModifier | The pointer to the modifier in the concrete class. |
Definition at line 33 of file AbstractCardiacCellWithModifiers.cpp.
References AbstractCardiacCellWithModifiers< CARDIAC_CELL >::mModifiersMap.
boost::shared_ptr< AbstractModifier > AbstractCardiacCellWithModifiers< CARDIAC_CELL >::GetModifier | ( | const std::string & | rModifierName | ) | [inline] |
Get access to a modifier
rModifierName | The oxmeta name of the modifier to fetch. |
Definition at line 50 of file AbstractCardiacCellWithModifiers.cpp.
References EXCEPTION, and AbstractCardiacCellWithModifiers< CARDIAC_CELL >::mModifiersMap.
bool AbstractCardiacCellWithModifiers< CARDIAC_CELL >::HasModifier | ( | const std::string & | rModifierName | ) | const [inline] |
Check for the presence of a modifier. To avoid the necessity of using try...catch around every call to GetModifier().
rModifierName | The oxmeta name of a modifier |
Definition at line 60 of file AbstractCardiacCellWithModifiers.cpp.
References AbstractCardiacCellWithModifiers< CARDIAC_CELL >::mModifiersMap.
void AbstractCardiacCellWithModifiers< CARDIAC_CELL >::SetModifier | ( | const std::string & | rModifierName, | |
boost::shared_ptr< AbstractModifier > & | pNewModifier | |||
) | [inline] |
Set a new modifier
rModifierName | The oxmeta name of the modifier to replace. | |
pNewModifier | The new modifier object to use. |
Definition at line 73 of file AbstractCardiacCellWithModifiers.cpp.
References EXCEPTION, and AbstractCardiacCellWithModifiers< CARDIAC_CELL >::mModifiersMap.
std::map<std::string, boost::shared_ptr<AbstractModifier>* > AbstractCardiacCellWithModifiers< CARDIAC_CELL >::mModifiersMap [private] |
A map between a string description and the location of the relevant modifier in concrete classes.
Definition at line 53 of file AbstractCardiacCellWithModifiers.hpp.
Referenced by AbstractCardiacCellWithModifiers< CARDIAC_CELL >::AbstractCardiacCellWithModifiers(), AbstractCardiacCellWithModifiers< CARDIAC_CELL >::AddModifier(), AbstractCardiacCellWithModifiers< CARDIAC_CELL >::GetModifier(), AbstractCardiacCellWithModifiers< CARDIAC_CELL >::HasModifier(), and AbstractCardiacCellWithModifiers< CARDIAC_CELL >::SetModifier().