36 #ifndef ABSTRACTCARDIACCELL_HPP_
37 #define ABSTRACTCARDIACCELL_HPP_
42 #include <boost/serialization/base_object.hpp>
43 #include <boost/shared_ptr.hpp>
44 #include <boost/serialization/shared_ptr.hpp>
50 #include "AbstractCardiacCellInterface.hpp"
51 #include "AbstractOdeSystem.hpp"
52 #include "AbstractIvpOdeSolver.hpp"
53 #include "AbstractStimulusFunction.hpp"
57 typedef enum _CellModelState
85 template<
class Archive>
86 void serialize(Archive & archive,
const unsigned int version)
89 archive & boost::serialization::base_object<AbstractOdeSystem>(*this);
93 archive & boost::serialization::base_object<AbstractCardiacCellInterface>(*this);
152 unsigned numberOfStateVariables,
153 unsigned voltageIndex,
154 boost::shared_ptr<AbstractStimulusFunction> pIntracellularStimulus);
343 void SetParameter(
const std::string& rParameterName,
double value);
360 virtual void SetState(CellModelState state);
369 virtual void SetSlowValues(
const std::vector<double> &rSlowValues);
378 virtual void GetSlowValues(std::vector<double>& rSlowValues);
virtual void SetSlowValues(const std::vector< double > &rSlowValues)
virtual unsigned GetNumSlowValues()
bool mHasDefaultStimulusFromCellML
void CheckForArchiveFix()
AbstractCardiacCell(boost::shared_ptr< AbstractIvpOdeSolver > pOdeSolver, unsigned numberOfStateVariables, unsigned voltageIndex, boost::shared_ptr< AbstractStimulusFunction > pIntracellularStimulus)
#define CLASS_IS_ABSTRACT(T)
bool mSetVoltageDerivativeToZero
double GetParameter(const std::string &rParameterName)
std::vector< double > GetStdVecStateVariables()
const std::vector< std::string > & rGetStateVariableNames() const
double GetAnyVariable(const std::string &rName, double time=0.0)
virtual void SetState(CellModelState state)
virtual ~AbstractCardiacCell()
virtual OdeSolution Compute(double tStart, double tEnd, double tSamp=0.0)
void SetStateVariables(const std::vector< double > &rVariables)
friend class boost::serialization::access
virtual void SolveAndUpdateState(double tStart, double tEnd)
void SetParameter(const std::string &rParameterName, double value)
unsigned GetNumberOfParameters() const
void SetStateVariable(unsigned index, double newValue)
void SetTimestep(double dt)
void serialize(Archive &archive, const unsigned int version)
virtual void GetSlowValues(std::vector< double > &rSlowValues)
std::vector< double > mParameters
void SetVoltage(double voltage)
virtual void AdjustOutOfRangeSlowValues(std::vector< double > &rSlowValues)
unsigned GetNumberOfStateVariables() const
virtual bool IsFastOnly()
virtual void ComputeExceptVoltage(double tStart, double tEnd)
const std::vector< std::string > & rGetParameterNames() const