Chaste  Release::2017.1
AbstractSimpleCellCycleModel Class Referenceabstract

#include <AbstractSimpleCellCycleModel.hpp>

+ Inheritance diagram for AbstractSimpleCellCycleModel:
+ Collaboration diagram for AbstractSimpleCellCycleModel:

Public Member Functions

 AbstractSimpleCellCycleModel ()
 
virtual ~AbstractSimpleCellCycleModel ()
 
virtual bool ReadyToDivide ()
 
virtual void ResetForDivision ()
 
void InitialiseDaughterCell ()
 
virtual void Initialise ()
 
virtual void SetCellCycleDuration ()=0
 
double GetCellCycleDuration () const
 
virtual void OutputCellCycleModelParameters (out_stream &rParamsFile)=0
 
- 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 ()
 
virtual double GetAverageTransitCellCycleTime ()=0
 
virtual double GetAverageStemCellCycleTime ()=0
 
void OutputCellCycleModelInfo (out_stream &rParamsFile)
 
- Public Member Functions inherited from Identifiable
virtual ~Identifiable ()
 
std::string GetIdentifier () const
 

Protected Member Functions

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

Protected Attributes

double mCellCycleDuration
 
- 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 basic information to all cell-cycle models that do NOT explicitly include distinct phases (G1, S, G2, M).

Definition at line 55 of file AbstractSimpleCellCycleModel.hpp.

Constructor & Destructor Documentation

AbstractSimpleCellCycleModel::AbstractSimpleCellCycleModel ( const AbstractSimpleCellCycleModel 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 AbstractSimpleCellCycleModel.cpp.

AbstractSimpleCellCycleModel::AbstractSimpleCellCycleModel ( )

Default constructor - creates an AbstractSimpleCellCycleModel.

Definition at line 38 of file AbstractSimpleCellCycleModel.cpp.

AbstractSimpleCellCycleModel::~AbstractSimpleCellCycleModel ( )
virtual

Destructor.

Definition at line 44 of file AbstractSimpleCellCycleModel.cpp.

Member Function Documentation

double AbstractSimpleCellCycleModel::GetCellCycleDuration ( ) const
Returns
mCellCycleDuration

Definition at line 94 of file AbstractSimpleCellCycleModel.cpp.

References mCellCycleDuration.

void AbstractSimpleCellCycleModel::Initialise ( void  )
virtual

See AbstractPhaseBasedCellCycleModel::Initialise()

Calls SetCellCycleDuration() defined in child classes.

Reimplemented from AbstractCellCycleModel.

Definition at line 63 of file AbstractSimpleCellCycleModel.cpp.

References SetCellCycleDuration().

void AbstractSimpleCellCycleModel::InitialiseDaughterCell ( )
virtual

Overridden InitialiseDaughterCell() method.

Set the new cell's cell cycle duration once it has been created after division. This is by calling SetCellCycleDuration() defined in child classes.

Reimplemented from AbstractCellCycleModel.

Definition at line 68 of file AbstractSimpleCellCycleModel.cpp.

References AbstractCellCycleModel::InitialiseDaughterCell(), and SetCellCycleDuration().

void AbstractSimpleCellCycleModel::OutputCellCycleModelParameters ( out_stream &  rParamsFile)
pure virtual

Outputs cell cycle model parameters to file.

As this method is pure virtual, it must be overridden in subclasses.

Parameters
rParamsFilethe file stream to which the parameters are output

Implements AbstractCellCycleModel.

Implemented in UniformCellCycleModel.

Definition at line 99 of file AbstractSimpleCellCycleModel.cpp.

References AbstractCellCycleModel::OutputCellCycleModelParameters().

Referenced by UniformCellCycleModel::OutputCellCycleModelParameters().

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

Archive the object and its member variables.

Parameters
archivethe archive
versionthe current version of this class

Definition at line 68 of file AbstractSimpleCellCycleModel.hpp.

References mCellCycleDuration.

virtual void AbstractSimpleCellCycleModel::SetCellCycleDuration ( )
pure virtual

This method is implemented in Subclasses to set the cell cycle duration of the cell. It is called on the beginning of the simulation (intialisation) when initialising daughter cells and when reseting parent cells

It must be implemented in child classes.

Implemented in UniformCellCycleModel.

Referenced by Initialise(), InitialiseDaughterCell(), and ResetForDivision().

Friends And Related Function Documentation

friend class boost::serialization::access
friend

Needed for serialization.

Definition at line 60 of file AbstractSimpleCellCycleModel.hpp.

Member Data Documentation

double AbstractSimpleCellCycleModel::mCellCycleDuration
protected

Duration of cell cycle. May be used as a mean duration for stochastic cell-cycle models.

Definition at line 80 of file AbstractSimpleCellCycleModel.hpp.

Referenced by GetCellCycleDuration(), ReadyToDivide(), serialize(), and UniformCellCycleModel::SetCellCycleDuration().


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