luo_rudy_1991.hpp
Go to the documentation of this file.00001 #ifndef CELLLUO_RUDY_1991FROMCELLML_HPP_
00002 #define CELLLUO_RUDY_1991FROMCELLML_HPP_
00003
00015
00016 #include "ChasteSerialization.hpp"
00017 #include <boost/serialization/base_object.hpp>
00018 #include "AbstractCardiacCell.hpp"
00019 #include "AbstractStimulusFunction.hpp"
00020
00021 class Cellluo_rudy_1991FromCellML : public AbstractCardiacCell
00022 {
00023 friend class boost::serialization::access;
00024 template<class Archive>
00025 void serialize(Archive & archive, const unsigned int version)
00026 {
00027 archive & boost::serialization::base_object<AbstractCardiacCell >(*this);
00028 }
00029
00030
00031 public:
00032 Cellluo_rudy_1991FromCellML(boost::shared_ptr<AbstractIvpOdeSolver> pSolver, boost::shared_ptr<AbstractStimulusFunction> pIntracellularStimulus);
00033 ~Cellluo_rudy_1991FromCellML();
00034 void VerifyStateVariables();
00035 double GetIIonic();
00036 void EvaluateYDerivatives(double var_environment__time, const std::vector<double>& rY, std::vector<double>& rDY);
00037 };
00038
00039
00040
00041 #include "SerializationExportWrapper.hpp"
00042 CHASTE_CLASS_EXPORT(Cellluo_rudy_1991FromCellML)
00043
00044 namespace boost
00045 {
00046 namespace serialization
00047 {
00048 template<class Archive>
00049 inline void save_construct_data(
00050 Archive & ar, const Cellluo_rudy_1991FromCellML * t, const unsigned int fileVersion)
00051 {
00052 const boost::shared_ptr<AbstractIvpOdeSolver> p_solver = t->GetSolver();
00053 const boost::shared_ptr<AbstractStimulusFunction> p_stimulus = t->GetStimulusFunction();
00054 ar << p_solver;
00055 ar << p_stimulus;
00056 }
00057
00058 template<class Archive>
00059 inline void load_construct_data(
00060 Archive & ar, Cellluo_rudy_1991FromCellML * t, const unsigned int fileVersion)
00061 {
00062 boost::shared_ptr<AbstractIvpOdeSolver> p_solver;
00063 boost::shared_ptr<AbstractStimulusFunction> p_stimulus;
00064 ar >> p_solver;
00065 ar >> p_stimulus;
00066 ::new(t)Cellluo_rudy_1991FromCellML(p_solver, p_stimulus);
00067 }
00068
00069 }
00070
00071 }
00072
00073 #endif // CELLLUO_RUDY_1991FROMCELLML_HPP_