![]() |
Chaste Commit::333233612e3dcc941d260418acd7b5ccdc30390e
|
#include <ExponentialG1GenerationalCellCycleModel.hpp>
Protected Member Functions | |
virtual void | SetG1Duration () |
ExponentialG1GenerationalCellCycleModel (const ExponentialG1GenerationalCellCycleModel &rModel) | |
![]() | |
AbstractSimpleGenerationalCellCycleModel (const AbstractSimpleGenerationalCellCycleModel &rModel) | |
![]() | |
AbstractSimplePhaseBasedCellCycleModel (const AbstractSimplePhaseBasedCellCycleModel &rModel) | |
![]() | |
AbstractPhaseBasedCellCycleModel (const AbstractPhaseBasedCellCycleModel &rModel) | |
![]() | |
AbstractCellCycleModel (const AbstractCellCycleModel &rModel) | |
Private Member Functions | |
template<class Archive > | |
void | serialize (Archive &archive, const unsigned int version) |
Private Attributes | |
double | mRate |
Friends | |
class | TestSimpleCellCycleModels |
class | boost::serialization::access |
Additional Inherited Members | |
![]() | |
unsigned | mGeneration |
unsigned | mMaxTransitGenerations |
![]() | |
CellCyclePhase | mCurrentCellCyclePhase |
double | mG1Duration |
double | mMinimumGapDuration |
double | mStemCellG1Duration |
double | mTransitCellG1Duration |
double | mSDuration |
double | mG2Duration |
double | mMDuration |
![]() | |
CellPtr | mpCell |
double | mBirthTime |
bool | mReadyToDivide |
unsigned | mDimension |
A cell cycle model where the G1 duration is drawn from an exponential random distribution. The rate parameter of this distribution is defined by the member variable mRate.
The default value of mRate is set to the inverse of the default value of mTransitCellG1Duration in the constructor.
mRate may be set using the method SetRate(), which also sets mTransitCellG1Duration and mStemCellG1Duration to take the inverse of mRate's new value. Similarly, the overridden methods SetTransitCellG1Duration() and SetStemCellG1Duration() also set mRate to take the inverse of the new value of mTransitCellG1Duration and mStemCellG1Duration, respectively.
Definition at line 56 of file ExponentialG1GenerationalCellCycleModel.hpp.
|
protected |
Protected copy-constructor for use by CreateCellCycleModel. The only way for external code to create a copy of a cell cycle model is by calling that method, to ensure that a model of the correct subclass is created. This copy-constructor helps subclasses to ensure that all member variables are correctly copied when this happens.
This method is called by child classes to set member variables for a daughter cell upon cell division. Note that the parent cell cycle model will have had ResetForDivision() called just before CreateCellCycleModel() is called, so performing an exact copy of the parent is suitable behaviour. Any daughter-cell-specific initialisation can be done in InitialiseDaughterCell().
rModel | the cell cycle model to copy. |
Definition at line 48 of file ExponentialG1GenerationalCellCycleModel.cpp.
ExponentialG1GenerationalCellCycleModel::ExponentialG1GenerationalCellCycleModel | ( | ) |
Constructor - just a default, mBirthTime is now set in the AbstractCellCycleModel class. mG1Duration is set very high, it is set for the individual cells when InitialiseDaughterCell is called
Definition at line 42 of file ExponentialG1GenerationalCellCycleModel.cpp.
Referenced by CreateCellCycleModel().
|
virtual |
Overridden builder method to create new copies of this cell-cycle model.
Implements AbstractCellCycleModel.
Reimplemented in FixedSequenceCellCycleModel.
Definition at line 68 of file ExponentialG1GenerationalCellCycleModel.cpp.
References ExponentialG1GenerationalCellCycleModel().
|
virtual |
Return the rate parameter (lambda) of the exponential distribution.
Reimplemented in FixedSequenceCellCycleModel.
Definition at line 93 of file ExponentialG1GenerationalCellCycleModel.cpp.
References mRate.
|
virtual |
Overridden OutputCellCycleModelParameters() method.
rParamsFile | the file stream to which the parameters are output |
Reimplemented from AbstractSimpleGenerationalCellCycleModel.
Reimplemented in FixedSequenceCellCycleModel.
Definition at line 123 of file ExponentialG1GenerationalCellCycleModel.cpp.
References mRate, and AbstractSimpleGenerationalCellCycleModel::OutputCellCycleModelParameters().
|
inlineprivate |
Archive the cell-cycle model and random number generator, never used directly - boost uses this.
archive | the archive |
version | the current version of this class |
Definition at line 78 of file ExponentialG1GenerationalCellCycleModel.hpp.
References SerializableSingleton< SINGLETON_CLASS >::GetSerializationWrapper(), RandomNumberGenerator::Instance(), and mRate.
|
protectedvirtual |
Stochastically set the G1 duration following an exponential distribution. Called on cell creation at the start of a simulation, and for both parent and daughter cells at cell division.
Reimplemented from AbstractSimplePhaseBasedCellCycleModel.
Reimplemented in FixedSequenceCellCycleModel.
Definition at line 73 of file ExponentialG1GenerationalCellCycleModel.cpp.
References RandomNumberGenerator::ExponentialRandomDeviate(), RandomNumberGenerator::Instance(), AbstractCellProperty::IsType(), AbstractPhaseBasedCellCycleModel::mG1Duration, AbstractCellCycleModel::mpCell, mRate, and NEVER_REACHED.
|
virtual |
Set the rate parameter of the exponential distribution. For consistency, this function also resets the internal values for mTransitCellG1Duration and mStemCellG1Duration to the average value of the exponential random variable, i.e. 1.0/rate. This ensures that GetAverageTransitCellCycleTime and GetAverageStemCellCycleTime returns correct values.
rate |
Reimplemented in FixedSequenceCellCycleModel.
Definition at line 98 of file ExponentialG1GenerationalCellCycleModel.cpp.
References mRate, SetStemCellG1Duration(), and SetTransitCellG1Duration().
|
virtual |
Overridden SetStemCellG1Duration() method.
Set mStemCellG1Duration to be a given value and also set mRate to be the inverse of this value
stemCellG1Duration | the new value of mStemCellG1Duration |
Reimplemented from AbstractPhaseBasedCellCycleModel.
Reimplemented in FixedSequenceCellCycleModel.
Definition at line 107 of file ExponentialG1GenerationalCellCycleModel.cpp.
References mRate, and AbstractPhaseBasedCellCycleModel::mStemCellG1Duration.
Referenced by SetRate().
|
virtual |
Overridden SetTransitCellG1Duration() method.
Set mTransitCellG1Duration to be a given value and also set mRate to be the inverse of this value
transitCellG1Duration | the new value of mTransitCellG1Duration |
Reimplemented from AbstractPhaseBasedCellCycleModel.
Reimplemented in FixedSequenceCellCycleModel.
Definition at line 115 of file ExponentialG1GenerationalCellCycleModel.cpp.
References mRate, and AbstractPhaseBasedCellCycleModel::mTransitCellG1Duration.
Referenced by SetRate().
|
friend |
Needed for serialization.
Definition at line 70 of file ExponentialG1GenerationalCellCycleModel.hpp.
|
friend |
Definition at line 58 of file ExponentialG1GenerationalCellCycleModel.hpp.
|
private |
The rate parameter of the exponential distribution, often denoted by lambda. This parameter is initialised to 1.0/mTransitCellG1Duration. The latter variable is inherited from the abstract cell cycle model. This initialisation ensures that cells will have the standard G1 duration (as defined in the abstract cell cycle model classes) on average.
Definition at line 67 of file ExponentialG1GenerationalCellCycleModel.hpp.
Referenced by GetRate(), OutputCellCycleModelParameters(), serialize(), SetG1Duration(), SetRate(), SetStemCellG1Duration(), and SetTransitCellG1Duration().