NobleVargheseKohlNoble1998.hpp

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

Generated by  doxygen 1.6.2