Chaste  Release::2018.1
AbstractSimpleGenerationalCellCycleModel Class Reference

#include <AbstractSimpleGenerationalCellCycleModel.hpp>

+ Inheritance diagram for AbstractSimpleGenerationalCellCycleModel:
+ Collaboration diagram for AbstractSimpleGenerationalCellCycleModel:

Public Member Functions

 AbstractSimpleGenerationalCellCycleModel ()
 
virtual ~AbstractSimpleGenerationalCellCycleModel ()
 
void ResetForDivision ()
 
void InitialiseDaughterCell ()
 
void SetGeneration (unsigned generation)
 
unsigned GetGeneration () const
 
void SetMaxTransitGenerations (unsigned maxTransitGenerations)
 
unsigned GetMaxTransitGenerations () const
 
virtual void OutputCellCycleModelParameters (out_stream &rParamsFile)
 
- Public Member Functions inherited from AbstractSimplePhaseBasedCellCycleModel
 AbstractSimplePhaseBasedCellCycleModel ()
 
virtual ~AbstractSimplePhaseBasedCellCycleModel ()
 
virtual void UpdateCellCyclePhase ()
 
void InitialiseDaughterCell ()
 
virtual void Initialise ()
 
- Public Member Functions inherited from AbstractPhaseBasedCellCycleModel
 AbstractPhaseBasedCellCycleModel ()
 
virtual ~AbstractPhaseBasedCellCycleModel ()
 
virtual bool ReadyToDivide ()
 
CellCyclePhase GetCurrentCellCyclePhase () const
 
virtual double GetG1Duration () const
 
double GetStemCellG1Duration () const
 
double GetTransitCellG1Duration () const
 
double GetSG2MDuration () const
 
virtual double GetSDuration () const
 
virtual double GetG2Duration () const
 
virtual double GetMDuration () const
 
virtual void SetStemCellG1Duration (double stemCellG1Duration)
 
virtual void SetTransitCellG1Duration (double transitCellG1Duration)
 
void SetSDuration (double sDuration)
 
void SetG2Duration (double g2Duration)
 
void SetMDuration (double mDuration)
 
virtual double GetAverageTransitCellCycleTime ()
 
virtual double GetAverageStemCellCycleTime ()
 
double GetMinimumGapDuration () const
 
void SetMinimumGapDuration (double minimumGapDuration)
 
- Public Member Functions inherited from AbstractCellCycleModel
 AbstractCellCycleModel ()
 
virtual ~AbstractCellCycleModel ()
 
void SetCell (CellPtr pCell)
 
CellPtr GetCell ()
 
virtual void SetBirthTime (double birthTime)
 
void SetDimension (unsigned dimension)
 
unsigned GetDimension () const
 
double GetBirthTime () const
 
double GetAge ()
 
virtual AbstractCellCycleModelCreateCellCycleModel ()=0
 
virtual bool CanCellTerminallyDifferentiate ()
 
void OutputCellCycleModelInfo (out_stream &rParamsFile)
 
- Public Member Functions inherited from Identifiable
virtual ~Identifiable ()
 
std::string GetIdentifier () const
 

Protected Member Functions

 AbstractSimpleGenerationalCellCycleModel (const AbstractSimpleGenerationalCellCycleModel &rModel)
 
- Protected Member Functions inherited from AbstractSimplePhaseBasedCellCycleModel
virtual void SetG1Duration ()
 
 AbstractSimplePhaseBasedCellCycleModel (const AbstractSimplePhaseBasedCellCycleModel &rModel)
 
- Protected Member Functions inherited from AbstractPhaseBasedCellCycleModel
 AbstractPhaseBasedCellCycleModel (const AbstractPhaseBasedCellCycleModel &rModel)
 
- Protected Member Functions inherited from AbstractCellCycleModel
 AbstractCellCycleModel (const AbstractCellCycleModel &rModel)
 

Protected Attributes

unsigned mGeneration
 
unsigned mMaxTransitGenerations
 
- Protected Attributes inherited from AbstractPhaseBasedCellCycleModel
CellCyclePhase mCurrentCellCyclePhase
 
double mG1Duration
 
double mMinimumGapDuration
 
double mStemCellG1Duration
 
double mTransitCellG1Duration
 
double mSDuration
 
double mG2Duration
 
double mMDuration
 
- 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

This class contains all the things common to simple generation-based cell cycle models, i.e. models in which the length of cell cycle phases are determined when the cell-cycle model is created, rather than evaluated 'on the fly' by ODEs and suchlike, and in which each cell has a 'generation'.

N.B. Whether or not the cell should actually divide may depend on Wnt / Oxygen etc. in subclasses.

Definition at line 54 of file AbstractSimpleGenerationalCellCycleModel.hpp.

Constructor & Destructor Documentation

AbstractSimpleGenerationalCellCycleModel::AbstractSimpleGenerationalCellCycleModel ( const AbstractSimpleGenerationalCellCycleModel 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 52 of file AbstractSimpleGenerationalCellCycleModel.cpp.

AbstractSimpleGenerationalCellCycleModel::AbstractSimpleGenerationalCellCycleModel ( )

Default constructor - creates an AbstractSimpleGenerationalCellCycleModel.

Definition at line 41 of file AbstractSimpleGenerationalCellCycleModel.cpp.

AbstractSimpleGenerationalCellCycleModel::~AbstractSimpleGenerationalCellCycleModel ( )
virtual

Destructor.

Definition at line 48 of file AbstractSimpleGenerationalCellCycleModel.cpp.

Member Function Documentation

unsigned AbstractSimpleGenerationalCellCycleModel::GetGeneration ( ) const
Returns
the cell's generation.

Definition at line 131 of file AbstractSimpleGenerationalCellCycleModel.cpp.

References mGeneration.

unsigned AbstractSimpleGenerationalCellCycleModel::GetMaxTransitGenerations ( ) const
Returns
mMaxTransitGenerations

Definition at line 141 of file AbstractSimpleGenerationalCellCycleModel.cpp.

References mMaxTransitGenerations.

void AbstractSimpleGenerationalCellCycleModel::InitialiseDaughterCell ( )
virtual

Set the new cell's G1 duration once it has been created after division. The duration will be based on cell type.

Reimplemented from AbstractCellCycleModel.

Definition at line 98 of file AbstractSimpleGenerationalCellCycleModel.cpp.

References AbstractSimplePhaseBasedCellCycleModel::InitialiseDaughterCell(), mGeneration, mMaxTransitGenerations, and AbstractCellCycleModel::mpCell.

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

Archive the cell-cycle model.

Parameters
archivethe archive
versionthe current version of this class

Definition at line 67 of file AbstractSimpleGenerationalCellCycleModel.hpp.

References mGeneration, and mMaxTransitGenerations.

void AbstractSimpleGenerationalCellCycleModel::SetGeneration ( unsigned  generation)

Sets the cell's generation.

Parameters
generationthe cell's generation

Definition at line 126 of file AbstractSimpleGenerationalCellCycleModel.cpp.

References mGeneration.

void AbstractSimpleGenerationalCellCycleModel::SetMaxTransitGenerations ( unsigned  maxTransitGenerations)

Set mMaxTransitGenerations.

Parameters
maxTransitGenerationsthe new value of mMaxTransitGenerations

Definition at line 136 of file AbstractSimpleGenerationalCellCycleModel.cpp.

References mMaxTransitGenerations.

Friends And Related Function Documentation

friend class boost::serialization::access
friend

Needed for serialization.

Definition at line 59 of file AbstractSimpleGenerationalCellCycleModel.hpp.

Member Data Documentation

unsigned AbstractSimpleGenerationalCellCycleModel::mGeneration
protected

The generation of this cell (cells with a StemCellProliferativeType have a generation of 0)

Definition at line 77 of file AbstractSimpleGenerationalCellCycleModel.hpp.

Referenced by GetGeneration(), InitialiseDaughterCell(), ResetForDivision(), serialize(), and SetGeneration().

unsigned AbstractSimpleGenerationalCellCycleModel::mMaxTransitGenerations
protected

How many generations a transit cell lives for before becoming fully differentiated.

Definition at line 80 of file AbstractSimpleGenerationalCellCycleModel.hpp.

Referenced by GetMaxTransitGenerations(), InitialiseDaughterCell(), OutputCellCycleModelParameters(), ResetForDivision(), serialize(), and SetMaxTransitGenerations().


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