TissueCell Class Reference

#include <TissueCell.hpp>

Collaboration diagram for TissueCell:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 TissueCell (CellProliferativeType cellType, boost::shared_ptr< AbstractCellMutationState > pMutationState, AbstractCellCycleModel *pCellCycleModel, bool archiving=false)
 ~TissueCell ()
 TissueCell (const TissueCell &rOtherCell)
TissueCelloperator= (const TissueCell &rOtherCell)
void SetBirthTime (double birthTime)
void SetCellCycleModel (AbstractCellCycleModel *pCellCycleModel)
AbstractCellCycleModelGetCellCycleModel () const
void InitialiseCellCycleModel ()
double GetAge () const
double GetBirthTime () const
double GetStartOfApoptosisTime () const
CellProliferativeType GetCellProliferativeType () const
void SetCellProliferativeType (CellProliferativeType cellType)
boost::shared_ptr
< AbstractCellMutationState
GetMutationState () const
void SetMutationState (boost::shared_ptr< AbstractCellMutationState > pMutationState)
bool ReadyToDivide ()
TissueCell Divide ()
void StartApoptosis (bool setDeathTime=true)
void Kill ()
bool HasApoptosisBegun () const
double GetTimeUntilDeath () const
bool IsDead ()
void SetLogged ()
bool IsLogged ()
void SetAncestor (unsigned ancestorIndex)
unsigned GetAncestor () const
unsigned GetCellId () const

Static Public Member Functions

static void ResetMaxCellId ()

Protected Member Functions

void CommonCopy (const TissueCell &rOtherCell)

Protected Attributes

CellProliferativeType mCellProliferativeType
boost::shared_ptr
< AbstractCellMutationState
mpMutationState
AbstractCellCycleModelmpCellCycleModel
unsigned mAncestor
unsigned mCellId
double mDeathTime
double mStartOfApoptosisTime
bool mUndergoingApoptosis
bool mIsDead
bool mIsLogged

Static Protected Attributes

static unsigned mMaxCellId = 0

Private Member Functions

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

Private Attributes

bool mCanDivide

Friends

class boost::serialization::access

Detailed Description

Tissue cell is the basic container for all the biological information about a cell. It contains the cell cycle model and all other biological properties such as mutation state, cell type, whether it is undergoing apoptosis or not.

This class should not store any spatial information - TissueCells are linked to space by the Tissue classes.

Definition at line 51 of file TissueCell.hpp.


Constructor & Destructor Documentation

TissueCell::TissueCell ( CellProliferativeType  cellType,
boost::shared_ptr< AbstractCellMutationState pMutationState,
AbstractCellCycleModel pCellCycleModel,
bool  archiving = false 
)

Create a new tissue cell.

Parameters:
cellType the type of cell this is
pMutationState the mutation state of the cell
pCellCycleModel the cell cycle model to use to decide when the cell divides. This MUST be allocated using new, and will be deleted when the cell is destroyed.
archiving whether this constructor is being called by the archiver - do things slightly differently!

Definition at line 33 of file TissueCell.cpp.

References SimulationTime::Instance(), mCellId, mMaxCellId, mpCellCycleModel, mpMutationState, and AbstractCellCycleModel::SetCell().

Referenced by Divide().

TissueCell::~TissueCell (  ) 

Destructor, which frees the memory allocated for our cell cycle model.

Definition at line 113 of file TissueCell.cpp.

References mpCellCycleModel, and mpMutationState.

TissueCell::TissueCell ( const TissueCell rOtherCell  ) 

Create a new tissue cell that is a copy of an existing cell

Parameters:
rOtherCell An existing TissueCell

Definition at line 93 of file TissueCell.cpp.

References CommonCopy(), and mpMutationState.


Member Function Documentation

void TissueCell::CommonCopy ( const TissueCell rOtherCell  )  [protected]

Contains code common to both the copy constructor and operator=.

Parameters:
rOtherCell An existing TissueCell

Definition at line 69 of file TissueCell.cpp.

References AbstractCellCycleModel::CreateCellCycleModel(), mAncestor, mCanDivide, mCellId, mCellProliferativeType, mDeathTime, mIsDead, mIsLogged, mpCellCycleModel, mpMutationState, mStartOfApoptosisTime, mUndergoingApoptosis, and AbstractCellCycleModel::SetCell().

Referenced by operator=(), and TissueCell().

TissueCell TissueCell::Divide (  ) 

Divide this cell to produce a daughter cell. ReadyToDivide MUST have been called at the current time, and returned true.

Returns:
the new daughter cell

Definition at line 294 of file TissueCell.cpp.

References AbstractCellCycleModel::CreateCellCycleModel(), GetAncestor(), GetCellCycleModel(), AbstractCellCycleModel::InitialiseDaughterCell(), IsDead(), mCanDivide, mCellProliferativeType, mpCellCycleModel, mpMutationState, AbstractCellCycleModel::ResetForDivision(), SetAncestor(), and TissueCell().

double TissueCell::GetAge (  )  const

Get the cell's age from its cell cycle model.

Definition at line 142 of file TissueCell.cpp.

References AbstractCellCycleModel::GetAge(), and mpCellCycleModel.

Referenced by GeneralisedLinearSpringForce< DIM >::CalculateForceBetweenNodes(), and AbstractTissue< DIM >::GenerateCellResults().

unsigned TissueCell::GetAncestor (  )  const
Returns:
The ancestor index, inherited from parents or set using the method above, used for monoclonality experiments.

Definition at line 265 of file TissueCell.cpp.

References mAncestor.

Referenced by Divide(), and AbstractTissue< DIM >::GenerateCellResults().

double TissueCell::GetBirthTime (  )  const

Get the cell's birth time from its cell cycle model.

Definition at line 148 of file TissueCell.cpp.

References AbstractCellCycleModel::GetBirthTime(), and mpCellCycleModel.

AbstractCellCycleModel * TissueCell::GetCellCycleModel (  )  const
unsigned TissueCell::GetCellId (  )  const
Returns:
The cell identifier.

Definition at line 270 of file TissueCell.cpp.

References mCellId.

CellProliferativeType TissueCell::GetCellProliferativeType (  )  const
boost::shared_ptr< AbstractCellMutationState > TissueCell::GetMutationState (  )  const
double TissueCell::GetStartOfApoptosisTime (  )  const

Get the time at which apoptosis was commanded to start.

Definition at line 226 of file TissueCell.cpp.

References mStartOfApoptosisTime.

double TissueCell::GetTimeUntilDeath (  )  const
Returns:
How long until the cell dies (if it is in apoptosis, throws an exception if not)

Definition at line 231 of file TissueCell.cpp.

References SimulationTime::GetTime(), SimulationTime::Instance(), mDeathTime, and mUndergoingApoptosis.

Referenced by GeneralisedLinearSpringForce< DIM >::CalculateForceBetweenNodes().

bool TissueCell::HasApoptosisBegun (  )  const
void TissueCell::InitialiseCellCycleModel (  ) 

Calls Initialise on the cell cycle model associated with this cell.

Definition at line 137 of file TissueCell.cpp.

References AbstractCellCycleModel::Initialise(), and mpCellCycleModel.

Referenced by CryptCellsGenerator< CELL_CYCLE_MODEL >::Generate().

bool TissueCell::IsDead (  ) 

Return whether the cell is dead or undergoing apoptosis.

Definition at line 242 of file TissueCell.cpp.

References SimulationTime::Instance(), Kill(), mDeathTime, mIsDead, and mUndergoingApoptosis.

Referenced by MeshBasedTissue< DIM >::CheckTissueCellPointers(), Divide(), ReadyToDivide(), and StartApoptosis().

bool TissueCell::IsLogged (  ) 
Returns:
Whether the cell is being tracked.

Definition at line 192 of file TissueCell.cpp.

References mIsLogged.

void TissueCell::Kill (  ) 

This labels the cell as dead, it does not delete the cell, it remains in the Tissue until AbstractTissue::RemoveDeadCells() is called.

Definition at line 255 of file TissueCell.cpp.

References mIsDead.

Referenced by IsDead().

TissueCell & TissueCell::operator= ( const TissueCell rOtherCell  ) 

Copy all the attributes of one cell to another.

Parameters:
rOtherCell An existing TissueCell

Definition at line 100 of file TissueCell.cpp.

References CommonCopy(), mpCellCycleModel, and mpMutationState.

bool TissueCell::ReadyToDivide (  ) 

Determine if this cell is ready to divide at the current simulation time. MUST be called before calling Divide().

Definition at line 280 of file TissueCell.cpp.

References IsDead(), mCanDivide, mCellProliferativeType, mpCellCycleModel, mUndergoingApoptosis, and AbstractCellCycleModel::ReadyToDivide().

void TissueCell::ResetMaxCellId (  )  [static]

Reset the current max ID.

Definition at line 275 of file TissueCell.cpp.

References mMaxCellId.

template<class Archive >
void TissueCell::serialize ( Archive &  archive,
const unsigned int  version 
) [inline, private]

Archive the member variables.

Parameters:
archive the archive
version the current version of this class

Definition at line 67 of file TissueCell.hpp.

References mAncestor, mCanDivide, mCellId, mCellProliferativeType, mDeathTime, mIsDead, mIsLogged, mMaxCellId, mpCellCycleModel, mpMutationState, mStartOfApoptosisTime, and mUndergoingApoptosis.

void TissueCell::SetAncestor ( unsigned  ancestorIndex  ) 

Give the TissueCell an index which it passes to its children.

Parameters:
ancestorIndex the cell's ancestor index

Definition at line 260 of file TissueCell.cpp.

References mAncestor.

Referenced by Divide().

void TissueCell::SetBirthTime ( double  birthTime  ) 

Set the birth time of the cell - can be negative so that your cells have an age when a simulation begins

Parameters:
birthTime The time the cell was born (in hours)

Definition at line 154 of file TissueCell.cpp.

References mpCellCycleModel, and AbstractCellCycleModel::SetBirthTime().

Referenced by CryptCellsGenerator< CELL_CYCLE_MODEL >::Generate(), CellsGenerator< CELL_CYCLE_MODEL, DIM >::GenerateBasic(), and CellsGenerator< CELL_CYCLE_MODEL, DIM >::GenerateGivenLocationIndices().

void TissueCell::SetCellCycleModel ( AbstractCellCycleModel pCellCycleModel  ) 

Change the cell cycle model used. This takes effect immediately.

Parameters:
pCellCycleModel pointer to the cell cycle model to use

Definition at line 120 of file TissueCell.cpp.

References mpCellCycleModel, and AbstractCellCycleModel::SetCell().

void TissueCell::SetCellProliferativeType ( CellProliferativeType  cellType  ) 
void TissueCell::SetLogged (  ) 

Sets a flag to perform special output on this cell only.

Definition at line 186 of file TissueCell.cpp.

References mIsLogged.

void TissueCell::SetMutationState ( boost::shared_ptr< AbstractCellMutationState pMutationState  ) 

Set method for mpMutationState.

Parameters:
pMutationState the cell's mutation state

Definition at line 172 of file TissueCell.cpp.

References mpMutationState.

void TissueCell::StartApoptosis ( bool  setDeathTime = true  ) 

Make the cell enter apoptosis and sets mDeathTime using the apoptosis time as defined in the TissueConfig singleton.

Parameters:
setDeathTime whether we tell the cell exactly when to die (defaults to true)

Definition at line 198 of file TissueCell.cpp.

References TissueConfig::GetApoptosisTime(), SimulationTime::GetTime(), TissueConfig::Instance(), SimulationTime::Instance(), IsDead(), mCellProliferativeType, mDeathTime, mStartOfApoptosisTime, and mUndergoingApoptosis.

Referenced by RandomCellKiller< DIM >::TestAndLabelSingleCellForApoptosis().


Friends And Related Function Documentation

friend class boost::serialization::access [friend]

Needed for serialization.

Definition at line 59 of file TissueCell.hpp.


Member Data Documentation

An index which is inherited by all children of this cell

Definition at line 100 of file TissueCell.hpp.

Referenced by CommonCopy(), GetAncestor(), serialize(), and SetAncestor().

Caches the result of ReadyToDivide() so Divide() can look at it.

Definition at line 56 of file TissueCell.hpp.

Referenced by CommonCopy(), Divide(), ReadyToDivide(), and serialize().

An identifier which is unique to this cell

Definition at line 103 of file TissueCell.hpp.

Referenced by CommonCopy(), GetCellId(), serialize(), and TissueCell().

CellProliferativeType TissueCell::mCellProliferativeType [protected]

When the cell will/did die

Definition at line 109 of file TissueCell.hpp.

Referenced by CommonCopy(), GetTimeUntilDeath(), IsDead(), serialize(), and StartApoptosis().

Whether the cell is dead or not (they exist in the Tissue until they are removed by AbstractTissue::RemoveDeadCells()

Definition at line 121 of file TissueCell.hpp.

Referenced by CommonCopy(), IsDead(), Kill(), and serialize().

Whether the cell is being tracked specially.

Definition at line 124 of file TissueCell.hpp.

Referenced by CommonCopy(), IsLogged(), serialize(), and SetLogged().

unsigned TissueCell::mMaxCellId = 0 [static, protected]

maximum cell identifier

Definition at line 106 of file TissueCell.hpp.

Referenced by ResetMaxCellId(), serialize(), and TissueCell().

The cell's mutation state.

Definition at line 94 of file TissueCell.hpp.

Referenced by CommonCopy(), Divide(), GetMutationState(), operator=(), serialize(), SetMutationState(), TissueCell(), and ~TissueCell().

When the cell was commanded to start apoptosis

Definition at line 112 of file TissueCell.hpp.

Referenced by CommonCopy(), GetStartOfApoptosisTime(), serialize(), and StartApoptosis().

Whether the cell is currently in apoptosis - don't divide

Definition at line 115 of file TissueCell.hpp.

Referenced by CommonCopy(), GetTimeUntilDeath(), HasApoptosisBegun(), IsDead(), ReadyToDivide(), serialize(), and StartApoptosis().


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

Generated by  doxygen 1.6.2