36#ifndef ABSTRACTCARDIACCELLINTERFACE_HPP_
37#define ABSTRACTCARDIACCELLINTERFACE_HPP_
39#include <boost/shared_ptr.hpp>
45#include "AbstractIvpOdeSolver.hpp"
46#include "RegularStimulus.hpp"
47#include "OdeSolution.hpp"
48#include "AbstractLookupTableCollection.hpp"
74 unsigned voltageIndex,
75 boost::shared_ptr<AbstractStimulusFunction> pIntracellularStimulus);
193 virtual void SetParameter(
const std::string& rParameterName,
double value)=0;
256 virtual double GetIIonic(
const std::vector<double>* pStateVariables=NULL)=0;
370 const boost::shared_ptr<AbstractIvpOdeSolver>
GetSolver()
const;
379 void SetSolver(boost::shared_ptr<AbstractIvpOdeSolver> pSolver);
460 template<
class Archive>
461 void serialize(Archive & archive,
const unsigned int version)
gcov doesn't like this file...
#define CLASS_IS_ABSTRACT(T)
virtual void SetStateVariable(unsigned index, double newValue)=0
virtual ~AbstractCardiacCellInterface()
virtual double GetIntracellularCalciumConcentration()
virtual const std::vector< std::string > & rGetStateVariableNames() const =0
bool mSetVoltageDerivativeToZero
virtual void SetStateVariables(const std::vector< double > &rVariables)=0
void SetUsedInTissueSimulation(bool tissue=true)
virtual unsigned GetNumberOfStateVariables() const =0
double GetIntracellularAreaStimulus(double time)
virtual void ComputeExceptVoltage(double tStart, double tEnd)=0
virtual void SetStateVariable(const std::string &rName, double newValue)=0
unsigned GetVoltageIndex()
virtual double GetParameter(unsigned parameterIndex)=0
boost::shared_ptr< AbstractStimulusFunction > GetStimulusFunction()
boost::shared_ptr< AbstractStimulusFunction > mpIntracellularStimulus
void SetFixedVoltage(double voltage)
double GetStimulus(double time)
virtual void SetStretch(double stretch)
virtual double GetIIonic(const std::vector< double > *pStateVariables=NULL)=0
const boost::shared_ptr< AbstractIvpOdeSolver > GetSolver() const
void SetIntracellularStimulusFunction(boost::shared_ptr< AbstractStimulusFunction > pStimulus)
virtual double GetVoltage()=0
virtual void SetTimestep(double dt)=0
virtual void SetVoltageDerivativeToZero(bool clamp=true)
virtual std::vector< double > GetStdVecStateVariables()=0
virtual void SetParameter(const std::string &rParameterName, double value)=0
virtual double GetParameter(const std::string &rParameterName)=0
virtual AbstractLookupTableCollection * GetLookupTableCollection()
bool mHasDefaultStimulusFromCellML
virtual OdeSolution Compute(double tStart, double tEnd, double tSamp=0.0)=0
virtual unsigned GetNumberOfParameters() const =0
bool HasCellMLDefaultStimulus()
virtual boost::shared_ptr< RegularStimulus > UseCellMLDefaultStimulus()
friend class boost::serialization::access
boost::shared_ptr< AbstractIvpOdeSolver > mpOdeSolver
virtual void SolveAndUpdateState(double tStart, double tEnd)=0
void serialize(Archive &archive, const unsigned int version)
virtual double GetAnyVariable(const std::string &rName, double time)=0
void SetSolver(boost::shared_ptr< AbstractIvpOdeSolver > pSolver)
double GetIntracellularStimulus(double time)
virtual void SetVoltage(double voltage)=0
void SetStimulusFunction(boost::shared_ptr< AbstractStimulusFunction > pStimulus)