Chaste Release::3.1
OdeSystemInformation< ODE_SYSTEM > Class Template Reference

#include <OdeSystemInformation.hpp>

Inheritance diagram for OdeSystemInformation< ODE_SYSTEM >:
Collaboration diagram for OdeSystemInformation< ODE_SYSTEM >:

List of all members.

Static Public Member Functions

static boost::shared_ptr
< OdeSystemInformation
< ODE_SYSTEM > > 
Instance ()

Protected Member Functions

 OdeSystemInformation ()
 OdeSystemInformation (const OdeSystemInformation< ODE_SYSTEM > &)
OdeSystemInformationoperator= (const OdeSystemInformation< ODE_SYSTEM > &)
void Initialise ()
template<>
void Initialise ()
template<>
void Initialise ()
template<>
void Initialise (void)
template<>
void Initialise (void)
template<>
void Initialise (void)
template<>
void Initialise (void)
template<>
void Initialise (void)
template<>
void Initialise (void)
template<>
void Initialise ()
template<>
void Initialise ()
template<>
void Initialise ()

Static Private Attributes

static boost::shared_ptr
< OdeSystemInformation
< ODE_SYSTEM > > 
mpInstance

Detailed Description

template<class ODE_SYSTEM>
class OdeSystemInformation< ODE_SYSTEM >

A concrete implementation of AbstractOdeSystemInformation, that uses templates to provide an implementation for any ODE system class.

All ODE system developers need to do is provide a specialisation of the Initialise method of this class, and set mpSystemInfo in their constructor: mpSystemInfo = OdeSystemInformation<CLASS>::Instance();

This class contains all the machinery to make it a singleton, hence providing exactly one instance per value of the template parameter.

Definition at line 55 of file OdeSystemInformation.hpp.


Constructor & Destructor Documentation

template<class ODE_SYSTEM >
OdeSystemInformation< ODE_SYSTEM >::OdeSystemInformation ( ) [protected]

Default constructor.

Not user accessible - to obtain an instance of this class use the Instance method.

Definition at line 126 of file OdeSystemInformation.hpp.

template<class ODE_SYSTEM >
OdeSystemInformation< ODE_SYSTEM >::OdeSystemInformation ( const OdeSystemInformation< ODE_SYSTEM > &  ) [protected]

Copy constructor.


Member Function Documentation

template<class ODE_SYSTEM >
void OdeSystemInformation< ODE_SYSTEM >::Initialise ( void  ) [protected, virtual]

Generic implementation of Initialise, which does nothing.

Developers should specialise this method to their ODE system. For example,

template<> void OdeSystemInformation<MyNewOdeSystem>::Initialise() { this->mVariableNames.push_back("Variable_1"); this->mVariableUnits.push_back("Units_1"); this->mInitialConditions.push_back(0.0);

this->mInitialised = true; }

Implements AbstractOdeSystemInformation.

Definition at line 133 of file OdeSystemInformation.hpp.

template<>
void OdeSystemInformation< TysonNovak2001OdeSystem >::Initialise ( ) [protected, virtual]

Initialise the ODE system information.

This must be provided by subclasses.

Implements AbstractOdeSystemInformation.

Definition at line 254 of file TysonNovak2001OdeSystem.cpp.

template<>
void OdeSystemInformation< OdeSystemForCoupledHeatEquationWithSource >::Initialise ( ) [protected, virtual]

Initialise the ODE system information.

This must be provided by subclasses.

Implements AbstractOdeSystemInformation.

Definition at line 89 of file OdeSystemForCoupledHeatEquationWithSource.hpp.

template<>
void OdeSystemInformation< Kerchoffs2003ContractionModel >::Initialise ( ) [protected, virtual]

Initialise the ODE system information.

This must be provided by subclasses.

Implements AbstractOdeSystemInformation.

Definition at line 148 of file Kerchoffs2003ContractionModel.cpp.

template<>
void OdeSystemInformation< CorriasBuistSMCModified >::Initialise ( void  ) [protected, virtual]

Initialise the ODE system information.

This must be provided by subclasses.

Implements AbstractOdeSystemInformation.

Definition at line 330 of file CorriasBuistSMCModified.cpp.

template<>
void OdeSystemInformation< CorriasBuistICCModified >::Initialise ( void  ) [protected, virtual]

Initialise the ODE system information.

This must be provided by subclasses.

Implements AbstractOdeSystemInformation.

Definition at line 424 of file CorriasBuistICCModified.cpp.

template<>
void OdeSystemInformation< FitzHughNagumo1961OdeSystem >::Initialise ( void  ) [protected, virtual]

Initialise the ODE system information.

This must be provided by subclasses.

Implements AbstractOdeSystemInformation.

Definition at line 96 of file FitzHughNagumo1961OdeSystem.cpp.

template<>
void OdeSystemInformation< CML_noble_varghese_kohl_noble_1998_basic_with_sac >::Initialise ( void  ) [protected, virtual]

Initialise the ODE system information.

This must be provided by subclasses.

Implements AbstractOdeSystemInformation.

Definition at line 619 of file NobleVargheseKohlNoble1998WithSac.cpp.

template<>
void OdeSystemInformation< FakeBathCell >::Initialise ( void  ) [protected, virtual]

Initialise the ODE system information.

This must be provided by subclasses.

Implements AbstractOdeSystemInformation.

Definition at line 74 of file FakeBathCell.cpp.

template<>
void OdeSystemInformation< OdeSystemForCoupledHeatEquation >::Initialise ( ) [protected, virtual]

Initialise the ODE system information.

This must be provided by subclasses.

Implements AbstractOdeSystemInformation.

Definition at line 91 of file OdeSystemForCoupledHeatEquation.hpp.

template<>
void OdeSystemInformation< Nash2004ContractionModel >::Initialise ( ) [protected, virtual]

Initialise the ODE system information.

This must be provided by subclasses.

Implements AbstractOdeSystemInformation.

Definition at line 42 of file Nash2004ContractionModel.cpp.

template<>
void OdeSystemInformation< NhsContractionModel >::Initialise ( void  ) [protected, virtual]

Initialise the ODE system information.

This must be provided by subclasses.

Implements AbstractOdeSystemInformation.

Definition at line 223 of file NhsContractionModel.cpp.

template<class ODE_SYSTEM >
boost::shared_ptr< OdeSystemInformation< ODE_SYSTEM > > OdeSystemInformation< ODE_SYSTEM >::Instance ( ) [static]

Return a pointer to the singleton instance, creating it if necessary.

Definition at line 115 of file OdeSystemInformation.hpp.

template<class ODE_SYSTEM >
OdeSystemInformation& OdeSystemInformation< ODE_SYSTEM >::operator= ( const OdeSystemInformation< ODE_SYSTEM > &  ) [protected]

Overloaded assignment operator.


Member Data Documentation

template<class ODE_SYSTEM >
boost::shared_ptr< OdeSystemInformation< ODE_SYSTEM > > OdeSystemInformation< ODE_SYSTEM >::mpInstance [static, private]

The single instance of this class, for this ODE_SYSTEM.

Todo:
see if using weak_ptr would work and give funkier semantics (automatically destroy the singleton when no ODE systems were using it)

Definition of the instance static member.

Definition at line 65 of file OdeSystemInformation.hpp.


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