Chaste Commit::1fd4e48e3990e67db148bc1bc4cf6991a0049d0c
LabelDependentBernoulliTrialCellCycleModel Class Reference

#include <LabelDependentBernoulliTrialCellCycleModel.hpp>

+ Inheritance diagram for LabelDependentBernoulliTrialCellCycleModel:
+ Collaboration diagram for LabelDependentBernoulliTrialCellCycleModel:

Public Member Functions

 LabelDependentBernoulliTrialCellCycleModel ()
 
virtual bool ReadyToDivide ()
 
AbstractCellCycleModelCreateCellCycleModel ()
 
void SetDivisionProbability (double divisionProbability)
 
double GetLabelledDivisionProbability ()
 
void SetLabelledDivisionProbability (double labelledDivisionProbability)
 
double GetDivisionProbability ()
 
void SetMinimumDivisionAge (double minimumDivisionAge)
 
double GetMinimumDivisionAge ()
 
double GetAverageTransitCellCycleTime ()
 
double GetAverageStemCellCycleTime ()
 
virtual void OutputCellCycleModelParameters (out_stream &rParamsFile)
 
- Public Member Functions inherited from AbstractCellCycleModel
 AbstractCellCycleModel ()
 
virtual ~AbstractCellCycleModel ()
 
void SetCell (CellPtr pCell)
 
virtual void Initialise ()
 
virtual void InitialiseDaughterCell ()
 
CellPtr GetCell ()
 
virtual void SetBirthTime (double birthTime)
 
void SetDimension (unsigned dimension)
 
unsigned GetDimension () const
 
double GetBirthTime () const
 
double GetAge ()
 
virtual void ResetForDivision ()
 
virtual bool CanCellTerminallyDifferentiate ()
 
void OutputCellCycleModelInfo (out_stream &rParamsFile)
 
- Public Member Functions inherited from Identifiable
virtual ~Identifiable ()
 
std::string GetIdentifier () const
 

Protected Member Functions

 LabelDependentBernoulliTrialCellCycleModel (const LabelDependentBernoulliTrialCellCycleModel &rModel)
 
- Protected Member Functions inherited from AbstractCellCycleModel
 AbstractCellCycleModel (const AbstractCellCycleModel &rModel)
 

Protected Attributes

double mDivisionProbability
 
double mLabelledDivisionProbability
 
double mMinimumDivisionAge
 
- Protected Attributes inherited from AbstractCellCycleModel
CellPtr mpCell
 
double mBirthTime
 
bool mReadyToDivide
 
unsigned mDimension
 

Private Member Functions

template<class Archive >
void serialize (Archive &archive, const unsigned int version)
 

Friends

class boost::serialization::access
 

Detailed Description

Simple cell-cycle model where mature non-differentiated cells have a specified probability of dividing per hour, which depends on whether they are laballed.

The class includes three parameters: the first, mDivisionProbability, defines the probability of dividing per hour for unlabelled cells; the second, mLabelledDivisonProbability, defines the probability of dividing per hour for labelled cells; and the third, mMinimumDivisionAge, defines a minimum age at which any cells may divide.

Definition at line 51 of file LabelDependentBernoulliTrialCellCycleModel.hpp.

Constructor & Destructor Documentation

◆ LabelDependentBernoulliTrialCellCycleModel() [1/2]

LabelDependentBernoulliTrialCellCycleModel::LabelDependentBernoulliTrialCellCycleModel ( const LabelDependentBernoulliTrialCellCycleModel rModel)
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().

Parameters
rModelthe cell cycle model to copy.

Definition at line 48 of file LabelDependentBernoulliTrialCellCycleModel.cpp.

◆ LabelDependentBernoulliTrialCellCycleModel() [2/2]

LabelDependentBernoulliTrialCellCycleModel::LabelDependentBernoulliTrialCellCycleModel ( )

Constructor.

Definition at line 40 of file LabelDependentBernoulliTrialCellCycleModel.cpp.

Referenced by CreateCellCycleModel().

Member Function Documentation

◆ CreateCellCycleModel()

AbstractCellCycleModel * LabelDependentBernoulliTrialCellCycleModel::CreateCellCycleModel ( )
virtual

Overridden builder method to create new instances of the cell-cycle model.

Returns
new cell-cycle model

Implements AbstractCellCycleModel.

Definition at line 89 of file LabelDependentBernoulliTrialCellCycleModel.cpp.

References LabelDependentBernoulliTrialCellCycleModel().

◆ GetAverageStemCellCycleTime()

double LabelDependentBernoulliTrialCellCycleModel::GetAverageStemCellCycleTime ( )
virtual

Overridden GetAverageStemCellCycleTime() method.

Returns
the average cell cycle time for cells of stem proliferative type

Implements AbstractCellCycleModel.

Definition at line 129 of file LabelDependentBernoulliTrialCellCycleModel.cpp.

References mDivisionProbability.

◆ GetAverageTransitCellCycleTime()

double LabelDependentBernoulliTrialCellCycleModel::GetAverageTransitCellCycleTime ( )
virtual

Overridden GetAverageTransitCellCycleTime() method.

Returns
the average cell cycle time for cells of transit proliferative type

Implements AbstractCellCycleModel.

Definition at line 124 of file LabelDependentBernoulliTrialCellCycleModel.cpp.

References mDivisionProbability.

◆ GetDivisionProbability()

double LabelDependentBernoulliTrialCellCycleModel::GetDivisionProbability ( )

Get mDivisionProbability.

Returns
mDivisionProbability

Definition at line 99 of file LabelDependentBernoulliTrialCellCycleModel.cpp.

References mDivisionProbability.

◆ GetLabelledDivisionProbability()

double LabelDependentBernoulliTrialCellCycleModel::GetLabelledDivisionProbability ( )

Get mLabelledDivisionProbability.

Returns
mLabelledDivisionProbability

Definition at line 109 of file LabelDependentBernoulliTrialCellCycleModel.cpp.

References mLabelledDivisionProbability.

◆ GetMinimumDivisionAge()

double LabelDependentBernoulliTrialCellCycleModel::GetMinimumDivisionAge ( )

Get mMinimumDivisionAge.

Returns
mMinimumDivisionAge

Definition at line 119 of file LabelDependentBernoulliTrialCellCycleModel.cpp.

References mMinimumDivisionAge.

◆ OutputCellCycleModelParameters()

void LabelDependentBernoulliTrialCellCycleModel::OutputCellCycleModelParameters ( out_stream &  rParamsFile)
virtual

Overridden OutputCellCycleModelParameters() method.

Parameters
rParamsFilethe file stream to which the parameters are output

Implements AbstractCellCycleModel.

Definition at line 134 of file LabelDependentBernoulliTrialCellCycleModel.cpp.

References mDivisionProbability, mMinimumDivisionAge, and AbstractCellCycleModel::OutputCellCycleModelParameters().

◆ ReadyToDivide()

bool LabelDependentBernoulliTrialCellCycleModel::ReadyToDivide ( )
virtual

Overridden ReadyToDivide() method.

If the cell's age is greater than mMinimumDivisionAge, then we draw a uniform random number r ~ U[0,1]. If r < mDivisionProbability*dt, where dt is the simulation time step, then the cell is ready to divide and we return true. Otherwise, the cell is not yet ready to divide and we return false.

Returns
whether the cell is ready to divide.

Implements AbstractCellCycleModel.

Definition at line 62 of file LabelDependentBernoulliTrialCellCycleModel.cpp.

References AbstractCellCycleModel::GetAge(), SimulationTime::GetTimeStep(), SimulationTime::Instance(), RandomNumberGenerator::Instance(), mDivisionProbability, mLabelledDivisionProbability, mMinimumDivisionAge, AbstractCellCycleModel::mpCell, AbstractCellCycleModel::mReadyToDivide, and RandomNumberGenerator::ranf().

◆ serialize()

template<class Archive >
void LabelDependentBernoulliTrialCellCycleModel::serialize ( Archive &  archive,
const unsigned int  version 
)
inlineprivate

Boost Serialization method for archiving/checkpointing

Parameters
archiveThe boost archive.
versionThe current version of this class.

Definition at line 63 of file LabelDependentBernoulliTrialCellCycleModel.hpp.

References SerializableSingleton< SINGLETON_CLASS >::GetSerializationWrapper(), RandomNumberGenerator::Instance(), mDivisionProbability, mLabelledDivisionProbability, and mMinimumDivisionAge.

◆ SetDivisionProbability()

void LabelDependentBernoulliTrialCellCycleModel::SetDivisionProbability ( double  divisionProbability)

Set the value of mDivisionProbability.

Parameters
divisionProbabilitythe new value of mDivisionProbability

Definition at line 94 of file LabelDependentBernoulliTrialCellCycleModel.cpp.

References mDivisionProbability.

◆ SetLabelledDivisionProbability()

void LabelDependentBernoulliTrialCellCycleModel::SetLabelledDivisionProbability ( double  labelledDivisionProbability)

Set the value of mLabelledDivisionProbability.

Parameters
labelledDivisionProbabilitythe new value of mLabelledDivisionProbability

Definition at line 104 of file LabelDependentBernoulliTrialCellCycleModel.cpp.

References mLabelledDivisionProbability.

◆ SetMinimumDivisionAge()

void LabelDependentBernoulliTrialCellCycleModel::SetMinimumDivisionAge ( double  minimumDivisionAge)

Set the value of mMinimumDivisionAge.

Parameters
minimumDivisionAgethe new value of mMinimumDivisionAge

Definition at line 114 of file LabelDependentBernoulliTrialCellCycleModel.cpp.

References mMinimumDivisionAge.

Friends And Related Symbol Documentation

◆ boost::serialization::access

friend class boost::serialization::access
friend

Member Data Documentation

◆ mDivisionProbability

double LabelDependentBernoulliTrialCellCycleModel::mDivisionProbability
protected

◆ mLabelledDivisionProbability

double LabelDependentBernoulliTrialCellCycleModel::mLabelledDivisionProbability
protected

Probability of dividing per hour for labelled cells. Defaults to 0.1.

Definition at line 87 of file LabelDependentBernoulliTrialCellCycleModel.hpp.

Referenced by GetLabelledDivisionProbability(), ReadyToDivide(), serialize(), and SetLabelledDivisionProbability().

◆ mMinimumDivisionAge

double LabelDependentBernoulliTrialCellCycleModel::mMinimumDivisionAge
protected

Minimum age of a cell at which it may divide. Defaults to 1 hour.

Definition at line 93 of file LabelDependentBernoulliTrialCellCycleModel.hpp.

Referenced by GetMinimumDivisionAge(), OutputCellCycleModelParameters(), ReadyToDivide(), serialize(), and SetMinimumDivisionAge().


The documentation for this class was generated from the following files: