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 // Needs to be included last
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_

Generated by  doxygen 1.6.2