VanLeeuwen2009WntSwatCellCycleOdeSystem.hpp

00001 /*
00002 
00003 Copyright (C) University of Oxford, 2005-2010
00004 
00005 University of Oxford means the Chancellor, Masters and Scholars of the
00006 University of Oxford, having an administrative office at Wellington
00007 Square, Oxford OX1 2JD, UK.
00008 
00009 This file is part of Chaste.
00010 
00011 Chaste is free software: you can redistribute it and/or modify it
00012 under the terms of the GNU Lesser General Public License as published
00013 by the Free Software Foundation, either version 2.1 of the License, or
00014 (at your option) any later version.
00015 
00016 Chaste is distributed in the hope that it will be useful, but WITHOUT
00017 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00018 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
00019 License for more details. The offer of Chaste under the terms of the
00020 License is subject to the License being interpreted in accordance with
00021 English Law and subject to any action against the University of Oxford
00022 being under the jurisdiction of the English Courts.
00023 
00024 You should have received a copy of the GNU Lesser General Public License
00025 along with Chaste. If not, see <http://www.gnu.org/licenses/>.
00026 
00027 */
00028 #ifndef VANLEEUWEN2009WNTSWATCELLCYCLEODESYSTEM_HPP_
00029 #define VANLEEUWEN2009WNTSWATCELLCYCLEODESYSTEM_HPP_
00030 
00031 #include <cmath>
00032 #include <iostream>
00033 
00034 #include "AbstractOdeSystem.hpp"
00035 #include "AbstractCellMutationState.hpp"
00036 #include "UblasCustomFunctions.hpp"
00037 
00038 // Needed here to avoid serialization errors
00039 #include "ApcOneHitCellMutationState.hpp"
00040 #include "ApcTwoHitCellMutationState.hpp"
00041 #include "BetaCateninOneHitCellMutationState.hpp"
00042 
00075 class VanLeeuwen2009WntSwatCellCycleOdeSystem : public AbstractOdeSystem
00076 {
00077 private:
00078 
00084     double mk2d;
00086     double mk3d;
00088     double mk34d;
00090     double mk43d;
00092     double mk23d;
00094     double mad;
00096     double mJ11d;
00098     double mJ12d;
00100     double mJ13d;
00102     double mJ61d;
00104     double mJ62d;
00106     double mJ63d;
00108     double mKm1d;
00110     double mkpd;
00112     double mphi_r;
00114     double mphi_i;
00116     double mphi_j;
00118     double mphi_p;
00120     double mk16d;
00122     double mk61d;
00124     double mPhiE2F1;
00125 
00131     double mSa;
00133     double mSca;
00135     double mSc;
00137     double mSct;
00139     double mSd;
00141     double mSt;
00143     double mSx;
00145     double mSy;
00147     double mDa;
00149     double mDca;
00151     double mDc;
00153     double mDct;
00155     double mDd;
00157     double mDdx;
00159     double mDt;
00161     double mDu;
00163     double mDx;
00165     double mDy;
00167     double mKc;
00169     double mKd;
00171     double mKt;
00173     double mPc;
00175     double mPu;
00177     double mXiD;
00179     double mXiDx;
00181     double mXiX;
00183     double mXiC;
00184 
00188     boost::shared_ptr<AbstractCellMutationState> mpMutationState;
00189 
00195     unsigned mHypothesis;
00196 
00197 public:
00198 
00206     VanLeeuwen2009WntSwatCellCycleOdeSystem(unsigned hypothesis,
00207                                   double wntLevel = 0.0,
00208                                   boost::shared_ptr<AbstractCellMutationState> pMutationState=boost::shared_ptr<AbstractCellMutationState>());
00209 
00213     ~VanLeeuwen2009WntSwatCellCycleOdeSystem();
00214 
00218     void Init();
00219 
00228     void SetMutationState(boost::shared_ptr<AbstractCellMutationState> pMutationState);
00229 
00235     boost::shared_ptr<AbstractCellMutationState> GetMutationState();
00236 
00247     void EvaluateYDerivatives(double time, const std::vector<double>& rY, std::vector<double>& rDY);
00248 
00257     bool CalculateStoppingEvent(double time, const std::vector<double>& rY);
00258 
00268     double CalculateRootFunction(double time, const std::vector<double>& rY);
00269 
00270 };
00271 
00272 #endif /*VANLEEUWEN2009WNTSWATCELLCYCLEODESYSTEM_HPP_*/

Generated by  doxygen 1.6.2