luo_rudy_1991Opt.hpp

Go to the documentation of this file.
00001 #ifndef CELLLUO_RUDY_1991FROMCELLMLOPT_HPP_
00002 #define CELLLUO_RUDY_1991FROMCELLMLOPT_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_1991FromCellMLOpt : 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     // Settable parameters and readable variables
00032     // 
00033     double var_membrane__I_stim;
00034     double var_membrane__i_Na;
00035     double var_membrane__i_si;
00036     double var_membrane__i_K;
00037     double var_membrane__i_K1;
00038     double var_membrane__i_Kp;
00039     double var_membrane__i_b;
00040     
00041 public:
00042     double Get_membrane__I_stim();
00043     double Get_membrane__i_Na();
00044     double Get_membrane__i_si();
00045     double Get_membrane__i_K();
00046     double Get_membrane__i_K1();
00047     double Get_membrane__i_Kp();
00048     double Get_membrane__i_b();
00049     Cellluo_rudy_1991FromCellMLOpt(boost::shared_ptr<AbstractIvpOdeSolver> pSolver, boost::shared_ptr<AbstractStimulusFunction> pIntracellularStimulus);
00050     ~Cellluo_rudy_1991FromCellMLOpt();
00051     void VerifyStateVariables();
00052     double GetIIonic();
00053     void EvaluateYDerivatives(double var_environment__time, const std::vector<double>& rY, std::vector<double>& rDY);
00054 };
00055 
00056 
00057 // Needs to be included last
00058 #include "SerializationExportWrapper.hpp"
00059 CHASTE_CLASS_EXPORT(Cellluo_rudy_1991FromCellMLOpt)
00060 
00061 namespace boost
00062 {
00063     namespace serialization
00064     {
00065         template<class Archive>
00066         inline void save_construct_data(
00067             Archive & ar, const Cellluo_rudy_1991FromCellMLOpt * t, const unsigned int fileVersion)
00068         {
00069             const boost::shared_ptr<AbstractIvpOdeSolver> p_solver = t->GetSolver();
00070             const boost::shared_ptr<AbstractStimulusFunction> p_stimulus = t->GetStimulusFunction();
00071             ar << p_solver;
00072             ar << p_stimulus;
00073         }
00074         
00075         template<class Archive>
00076         inline void load_construct_data(
00077             Archive & ar, Cellluo_rudy_1991FromCellMLOpt * t, const unsigned int fileVersion)
00078         {
00079             boost::shared_ptr<AbstractIvpOdeSolver> p_solver;
00080             boost::shared_ptr<AbstractStimulusFunction> p_stimulus;
00081             ar >> p_solver;
00082             ar >> p_stimulus;
00083             ::new(t)Cellluo_rudy_1991FromCellMLOpt(p_solver, p_stimulus);
00084         }
00085         
00086     }
00087     
00088 }
00089 
00090 #endif // CELLLUO_RUDY_1991FROMCELLMLOPT_HPP_

Generated by  doxygen 1.6.2