AbstractCardiacCellWithModifiers< CARDIAC_CELL > Class Template Reference

#include <AbstractCardiacCellWithModifiers.hpp>

Inheritance diagram for AbstractCardiacCellWithModifiers< CARDIAC_CELL >:

Inheritance graph
[legend]
Collaboration diagram for AbstractCardiacCellWithModifiers< CARDIAC_CELL >:

Collaboration graph
[legend]

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 49 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 
) [inline]

Create a new cardiac cell.

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

Parameters:
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.


Member Function Documentation

template<class CARDIAC_CELL>
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.

Parameters:
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.

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

Get access to a modifier

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

Definition at line 50 of file AbstractCardiacCellWithModifiers.cpp.

References EXCEPTION, and AbstractCardiacCellWithModifiers< CARDIAC_CELL >::mModifiersMap.

template<class CARDIAC_CELL>
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().

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

Definition at line 60 of file AbstractCardiacCellWithModifiers.cpp.

References AbstractCardiacCellWithModifiers< CARDIAC_CELL >::mModifiersMap.

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

Set a new modifier

Parameters:
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.


Member Data Documentation

template<class CARDIAC_CELL>
std::map<std::string, boost::shared_ptr<AbstractModifier>* > AbstractCardiacCellWithModifiers< CARDIAC_CELL >::mModifiersMap [private]


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

Generated on Mon Apr 18 11:35:47 2011 for Chaste by  doxygen 1.5.5