Chaste  Release::2018.1
BernoulliTrialCellCycleModel Class Reference

#include <BernoulliTrialCellCycleModel.hpp>

+ Inheritance diagram for BernoulliTrialCellCycleModel:
+ Collaboration diagram for BernoulliTrialCellCycleModel:

Public Member Functions

 BernoulliTrialCellCycleModel ()
 
virtual bool ReadyToDivide ()
 
AbstractCellCycleModelCreateCellCycleModel ()
 
void SetDivisionProbability (double divisionProbability)
 
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

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

Protected Attributes

double mDivisionProbability
 
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.

The class includes two parameters: the first, mDivisionProbability, defines the probability of dividing per hour; the second, mMinimumDivisionAge, defines a minimum age at which cells may divide.

Definition at line 49 of file BernoulliTrialCellCycleModel.hpp.

Constructor & Destructor Documentation

BernoulliTrialCellCycleModel::BernoulliTrialCellCycleModel ( const BernoulliTrialCellCycleModel 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 47 of file BernoulliTrialCellCycleModel.cpp.

BernoulliTrialCellCycleModel::BernoulliTrialCellCycleModel ( )

Constructor.

Definition at line 40 of file BernoulliTrialCellCycleModel.cpp.

Referenced by CreateCellCycleModel().

Member Function Documentation

AbstractCellCycleModel * BernoulliTrialCellCycleModel::CreateCellCycleModel ( )
virtual

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

Returns
new cell-cycle model

Implements AbstractCellCycleModel.

Definition at line 82 of file BernoulliTrialCellCycleModel.cpp.

References BernoulliTrialCellCycleModel().

double BernoulliTrialCellCycleModel::GetAverageStemCellCycleTime ( )
virtual

Overridden GetAverageStemCellCycleTime() method.

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

Implements AbstractCellCycleModel.

Definition at line 112 of file BernoulliTrialCellCycleModel.cpp.

References mDivisionProbability.

double BernoulliTrialCellCycleModel::GetAverageTransitCellCycleTime ( )
virtual

Overridden GetAverageTransitCellCycleTime() method.

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

Implements AbstractCellCycleModel.

Definition at line 107 of file BernoulliTrialCellCycleModel.cpp.

References mDivisionProbability.

double BernoulliTrialCellCycleModel::GetDivisionProbability ( )

Get mDivisionProbability.

Returns
mDivisionProbability

Definition at line 92 of file BernoulliTrialCellCycleModel.cpp.

References mDivisionProbability.

double BernoulliTrialCellCycleModel::GetMinimumDivisionAge ( )

Get mMinimumDivisionAge.

Returns
mMinimumDivisionAge

Definition at line 102 of file BernoulliTrialCellCycleModel.cpp.

References mMinimumDivisionAge.

void BernoulliTrialCellCycleModel::OutputCellCycleModelParameters ( out_stream &  rParamsFile)
virtual

Overridden OutputCellCycleModelParameters() method.

Parameters
rParamsFilethe file stream to which the parameters are output

Implements AbstractCellCycleModel.

Definition at line 117 of file BernoulliTrialCellCycleModel.cpp.

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

bool BernoulliTrialCellCycleModel::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 60 of file BernoulliTrialCellCycleModel.cpp.

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

template<class Archive >
void BernoulliTrialCellCycleModel::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 61 of file BernoulliTrialCellCycleModel.hpp.

References mDivisionProbability, and mMinimumDivisionAge.

void BernoulliTrialCellCycleModel::SetDivisionProbability ( double  divisionProbability)

Set the value of mDivisionProbability.

Parameters
divisionProbabilitythe new value of mDivisionProbability

Definition at line 87 of file BernoulliTrialCellCycleModel.cpp.

References mDivisionProbability.

void BernoulliTrialCellCycleModel::SetMinimumDivisionAge ( double  minimumDivisionAge)

Set the value of mMinimumDivisionAge.

Parameters
minimumDivisionAgethe new value of mMinimumDivisionAge

Definition at line 97 of file BernoulliTrialCellCycleModel.cpp.

References mMinimumDivisionAge.

Member Data Documentation

double BernoulliTrialCellCycleModel::mDivisionProbability
protected
double BernoulliTrialCellCycleModel::mMinimumDivisionAge
protected

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

Definition at line 79 of file BernoulliTrialCellCycleModel.hpp.

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


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