CancerParameters.hpp

00001 /*
00002 
00003 Copyright (C) University of Oxford, 2005-2009
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 CANCERPARAMETERS_HPP_
00029 #define CANCERPARAMETERS_HPP_
00030 
00031 #include <boost/serialization/access.hpp>
00032 #include <cassert>
00033 
00044 class CancerParameters
00045 {
00046 public:
00047 
00053     static CancerParameters* Instance();
00054 
00058     double GetStemCellG1Duration();
00062     double GetTransitCellG1Duration();
00066     double GetHepaOneCellG1Duration();
00070     double GetMinimumGapDuration();
00074     double GetSG2MDuration();
00078     double GetSDuration();
00082     double GetG2Duration();
00086     double GetMDuration();
00090     unsigned GetMaxTransitGenerations();
00094     double GetCryptLength();
00098     double GetCryptWidth();
00102     double GetSpringStiffness();
00106     double GetDampingConstantNormal();
00110     double GetDampingConstantMutant();
00114     double GetBetaCatSpringScaler();
00118     double GetApoptosisTime();
00122     double GetDivisionRestingSpringLength();
00126     double GetDivisionSeparation();
00130     double GetHepaOneCellHypoxicConcentration();
00134     double GetHepaOneCellQuiescentConcentration();
00138     double GetWntTransitThreshold();
00142     double GetWntStemThreshold();
00146     double GetTopOfLinearWntConcentration();
00150     double GetCriticalHypoxicDuration();
00154     double GetCryptProjectionParameterA();
00158     double GetCryptProjectionParameterB();
00162     double GetApoptoticSpringTensionStiffness();
00166     double GetApoptoticSpringCompressionStiffness();
00170     double GetWntChemotaxisStrength();
00174     double GetSymmetricDivisionProbability();
00178     double GetAreaBasedDampingConstantParameter();
00182     double GetMatureCellTargetArea();
00186     double GetDeformationEnergyParameter();
00190     double GetMembraneSurfaceEnergyParameter();
00194     double GetCellCellAdhesionEnergyParameter();
00198     double GetCellBoundaryAdhesionEnergyParameter();
00199 
00203     void SetStemCellG1Duration(double);
00207     void SetTransitCellG1Duration(double);
00211     void SetHepaOneCellG1Duration(double);
00215     void SetMinimumGapDuration(double);
00219     void SetSDuration(double);
00223     void SetG2Duration(double);
00227     void SetMDuration(double);
00231     void SetMaxTransitGenerations(unsigned);
00235     void SetCryptLength(double);
00239     void SetCryptWidth(double);
00243     void SetSpringStiffness(double);
00247     void SetDampingConstantNormal(double);
00251     void SetDampingConstantMutant(double);
00255     void SetBetaCatSpringScaler(double);
00259     void SetApoptosisTime(double);
00263     void SetDivisionRestingSpringLength(double);
00267     void SetDivisionSeparation(double);
00271     void SetHepaOneCellHypoxicConcentration(double);
00275     void SetHepaOneCellQuiescentConcentration(double);
00279     void SetWntTransitThreshold(double);
00283     void SetWntStemThreshold(double);
00287     void SetTopOfLinearWntConcentration(double);
00291     void SetCriticalHypoxicDuration(double);
00295     void SetHepaOneParameters();
00299     void SetCryptProjectionParameterA(double);
00303     void SetCryptProjectionParameterB(double);
00307     void SetApoptoticSpringTensionStiffness(double);
00311     void SetApoptoticSpringCompressionStiffness(double);
00315     void SetWntChemotaxisStrength(double);
00319     void SetSymmetricDivisionProbability(double);
00323     void SetAreaBasedDampingConstantParameter(double);
00327     void SetMatureCellTargetArea(double);
00331     void SetDeformationEnergyParameter(double);
00335     void SetMembraneSurfaceEnergyParameter(double);
00339     void SetCellCellAdhesionEnergyParameter(double);
00343     void SetCellBoundaryAdhesionEnergyParameter(double);
00344 
00348     void Reset();
00349 
00350 protected:
00351 
00355     CancerParameters();
00356 
00360     CancerParameters(const CancerParameters&);
00361 
00365     CancerParameters& operator= (const CancerParameters&);
00366 
00367 private:
00368 
00370     static CancerParameters *mpInstance;
00371 
00377     double mStemCellG1Duration;
00378 
00383     double mTransitCellG1Duration;
00384 
00389     double mHepaOneCellG1Duration;
00390 
00396     double mMinimumGapDuration;
00397 
00401     double mSDuration;
00402 
00406     double mG2Duration;
00407 
00411     double mMDuration;
00412 
00416     unsigned mMaxTransitGenerations;
00417 
00422     double mCryptLength;
00423 
00428     double mCryptWidth;
00429 
00434     double mSpringStiffness;
00435 
00440     double mDampingConstantNormal;
00441 
00445     double mDampingConstantMutant;
00446 
00450     double mBetaCatSpringScaler;
00451 
00455     double mApoptosisTime;
00456 
00460     double mDivisionSeparation;
00461 
00467     double mDivisionRestingSpringLength;
00468 
00474     double mHepaOneCellHypoxicConcentration;
00475 
00481     double mHepaOneCellQuiescentConcentration;
00482 
00486     double mWntTransitThreshold;
00487 
00491     double mWntStemThreshold;
00492 
00497     double mTopOfLinearWntConcentration;
00498 
00502     double mCriticalHypoxicDuration;
00503 
00508     double mCryptProjectionParameterA;
00509 
00514     double mCryptProjectionParameterB;
00515 
00519     double mApoptoticSpringTensionStiffness;
00520 
00524     double mApoptoticSpringCompressionStiffness;
00525 
00529     double mWntChemotaxisStrength;
00530 
00534     double mSymmetricDivisionProbability;
00535 
00539     double mAreaBasedDampingConstantParameter;
00540 
00545     double mMatureCellTargetArea;
00546 
00551     double mDeformationEnergyParameter;
00552     
00557     double mMembraneSurfaceEnergyParameter;
00558         
00563     double mCellCellAdhesionEnergyParameter;
00564 
00569     double mCellBoundaryAdhesionEnergyParameter;
00570 
00572     friend class boost::serialization::access;
00581     template<class Archive>
00582     void serialize(Archive & archive, const unsigned int version)
00583     {
00584         archive & mStemCellG1Duration;
00585         archive & mTransitCellG1Duration;
00586         archive & mHepaOneCellG1Duration;
00587         archive & mMinimumGapDuration;
00588         archive & mSDuration;
00589         archive & mG2Duration;
00590         archive & mMDuration;
00591         archive & mMaxTransitGenerations;
00592         archive & mCryptLength;
00593         archive & mCryptWidth;
00594         archive & mSpringStiffness;
00595         archive & mDampingConstantNormal;
00596         archive & mDampingConstantMutant;
00597         archive & mBetaCatSpringScaler;
00598         archive & mApoptosisTime;
00599         archive & mHepaOneCellHypoxicConcentration;
00600         archive & mHepaOneCellQuiescentConcentration;
00601         archive & mWntTransitThreshold;
00602         archive & mWntStemThreshold;
00603         archive & mTopOfLinearWntConcentration;
00604         archive & mCriticalHypoxicDuration;
00605         archive & mCryptProjectionParameterA;
00606         archive & mCryptProjectionParameterB;
00607         archive & mApoptoticSpringTensionStiffness;
00608         archive & mApoptoticSpringCompressionStiffness;
00609         archive & mWntChemotaxisStrength;
00610         archive & mSymmetricDivisionProbability;
00611         archive & mAreaBasedDampingConstantParameter;
00612         archive & mMatureCellTargetArea;
00613         archive & mDeformationEnergyParameter;
00614         archive & mMembraneSurfaceEnergyParameter;
00615         archive & mCellCellAdhesionEnergyParameter;
00616         archive & mCellBoundaryAdhesionEnergyParameter;
00617     }
00618 };
00619 
00620 
00621 #endif /*CANCERPARAMETERS_HPP_*/

Generated on Wed Mar 18 12:51:49 2009 for Chaste by  doxygen 1.5.5