Chaste Release::3.1
AbstractCardiacCellWithModifiers< CARDIAC_CELL > Class Template Reference

#include <AbstractCardiacCellWithModifiers.hpp>

Inheritance diagram for AbstractCardiacCellWithModifiers< CARDIAC_CELL >:
Collaboration diagram for AbstractCardiacCellWithModifiers< CARDIAC_CELL >:

List of all members.

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

Detailed Description

template<class CARDIAC_CELL>
class AbstractCardiacCellWithModifiers< CARDIAC_CELL >

A base class for cardiac cells that have been altered to include calls to subclasses of AbstractModifier when computing their derivatives.

Definition at line 56 of file AbstractCardiacCellWithModifiers.hpp.


Constructor & Destructor Documentation

template<class CARDIAC_CELL >
AbstractCardiacCellWithModifiers< CARDIAC_CELL >::AbstractCardiacCellWithModifiers ( boost::shared_ptr< AbstractIvpOdeSolver pOdeSolver,
unsigned  numberOfStateVariables,
unsigned  voltageIndex,
boost::shared_ptr< AbstractStimulusFunction pIntracellularStimulus 
)

Create a new cardiac cell.

This calls the main CARDIAC_CELL constructor, but also supplies modifiers for working with metadata-enabled CellML files.

Parameters:
pOdeSolverthe ODE solver to use when simulating this cell
numberOfStateVariablesthe size of the ODE system modelling this cell
voltageIndexthe index of the transmembrane potential within the vector of state variables
pIntracellularStimulusthe intracellular stimulus current

Definition at line 47 of file AbstractCardiacCellWithModifiers.cpp.

References AbstractCardiacCellWithModifiers< CARDIAC_CELL >::mModifiersMap.


Member Function Documentation

template<class CARDIAC_CELL >
void AbstractCardiacCellWithModifiers< CARDIAC_CELL >::AddModifier ( std::string  modifierName,
boost::shared_ptr< AbstractModifier > &  pModifier 
) [protected]

Add a new modifier - should only be called by the subclass constructors. Each modifier pointer is set to a DummyModifier by this method.

Parameters:
modifierNameThe name which will act as a 'key' for this modifier.
pModifierThe pointer to the modifier in the concrete class.

Definition at line 40 of file AbstractCardiacCellWithModifiers.cpp.

template<class CARDIAC_CELL >
boost::shared_ptr< AbstractModifier > AbstractCardiacCellWithModifiers< CARDIAC_CELL >::GetModifier ( const std::string &  rModifierName)

Get access to a modifier

Parameters:
rModifierNameThe oxmeta name of the modifier to fetch.
Returns:
a pointer to the specified modifier

Definition at line 57 of file AbstractCardiacCellWithModifiers.cpp.

References EXCEPTION.

template<class CARDIAC_CELL >
bool AbstractCardiacCellWithModifiers< CARDIAC_CELL >::HasModifier ( const std::string &  rModifierName) const

Check for the presence of a modifier. To avoid the necessity of using try...catch around every call to GetModifier().

Parameters:
rModifierNameThe oxmeta name of a modifier
Returns:
whether or not the cell has one of these modifiers.

Definition at line 67 of file AbstractCardiacCellWithModifiers.cpp.

template<class CARDIAC_CELL >
void AbstractCardiacCellWithModifiers< CARDIAC_CELL >::SetModifier ( const std::string &  rModifierName,
boost::shared_ptr< AbstractModifier > &  pNewModifier 
)

Set a new modifier

Parameters:
rModifierNameThe oxmeta name of the modifier to replace.
pNewModifierThe new modifier object to use.

Definition at line 73 of file AbstractCardiacCellWithModifiers.cpp.

References EXCEPTION.


Member Data Documentation

template<class CARDIAC_CELL >
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 60 of file AbstractCardiacCellWithModifiers.hpp.

Referenced by AbstractCardiacCellWithModifiers< CARDIAC_CELL >::AbstractCardiacCellWithModifiers().


The documentation for this class was generated from the following files: