Chaste Commit::baa90ac2819b962188b7562f2326be23c47859a7
CryptShovingCaBasedDivisionRule Class Reference

#include <CryptShovingCaBasedDivisionRule.hpp>

+ Inheritance diagram for CryptShovingCaBasedDivisionRule:
+ Collaboration diagram for CryptShovingCaBasedDivisionRule:

Public Member Functions

 CryptShovingCaBasedDivisionRule ()
 
virtual ~CryptShovingCaBasedDivisionRule ()
 
bool IsNodeOnBase (unsigned NodeIndex, PottsMesh< 2 > *pPottsMesh)
 
virtual bool IsRoomToDivide (CellPtr pParentCell, CaBasedCellPopulation< 2 > &rCellPopulation)
 
virtual unsigned CalculateDaughterNodeIndex (CellPtr pNewCell, CellPtr pParentCell, CaBasedCellPopulation< 2 > &rCellPopulation)
 
- Public Member Functions inherited from AbstractCaBasedDivisionRule< 2 >
 AbstractCaBasedDivisionRule ()
 
virtual ~AbstractCaBasedDivisionRule ()
 
virtual bool IsRoomToDivide (CellPtr pParentCell, CaBasedCellPopulation< SPACE_DIM > &rCellPopulation)=0
 
virtual unsigned CalculateDaughterNodeIndex (CellPtr pNewCell, CellPtr pParentCell, CaBasedCellPopulation< SPACE_DIM > &rCellPopulation)=0
 
void OutputCellCaBasedDivisionRuleInfo (out_stream &rParamsFile)
 
- Public Member Functions inherited from Identifiable
virtual ~Identifiable ()
 
std::string GetIdentifier () const
 

Private Member Functions

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

Friends

class boost::serialization::access
 

Additional Inherited Members

- Protected Member Functions inherited from AbstractCaBasedDivisionRule< 2 >
virtual void OutputCellCaBasedDivisionRuleParameters (out_stream &rParamsFile)
 

Detailed Description

A division rule for CA-based cell populations to say how cells divide. Here they can divide in a 'north-east' or 'west' direction, as in model 3 of the following paper:

Loeffler et al (1986). Intestinal cell proliferation. I. A comprehensive model of steady‐state proliferation in the crypt. Cell Proliferation 19(6):627-645.

Definition at line 57 of file CryptShovingCaBasedDivisionRule.hpp.

Constructor & Destructor Documentation

◆ CryptShovingCaBasedDivisionRule()

CryptShovingCaBasedDivisionRule::CryptShovingCaBasedDivisionRule ( )
inline

Default constructor.

Definition at line 79 of file CryptShovingCaBasedDivisionRule.hpp.

◆ ~CryptShovingCaBasedDivisionRule()

virtual CryptShovingCaBasedDivisionRule::~CryptShovingCaBasedDivisionRule ( )
inlinevirtual

Empty destructor.

Definition at line 84 of file CryptShovingCaBasedDivisionRule.hpp.

Member Function Documentation

◆ CalculateDaughterNodeIndex()

unsigned CryptShovingCaBasedDivisionRule::CalculateDaughterNodeIndex ( CellPtr  pNewCell,
CellPtr  pParentCell,
CaBasedCellPopulation< 2 > &  rCellPopulation 
)
virtual

Return the index for the Daughter node. This method can be used to move cells out of the way as necessary.

Here cells divide East North or west and move the occupying cells North.

Parameters
pNewCellThe cell to new cell
pParentCellThe parent cell
rCellPopulationThe CA-based cell population
Returns
the node index for the daughter cell.

Definition at line 74 of file CryptShovingCaBasedDivisionRule.cpp.

References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCellUsingLocationIndex(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetLocationIndexUsingCell(), PottsMesh< DIM >::GetVonNeumannNeighbouringNodeIndices(), RandomNumberGenerator::Instance(), IsNodeOnBase(), CaBasedCellPopulation< DIM >::IsSiteAvailable(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::MoveCellInLocationMap(), RandomNumberGenerator::randMod(), and CaBasedCellPopulation< DIM >::rGetMesh().

◆ IsNodeOnBase()

bool CryptShovingCaBasedDivisionRule::IsNodeOnBase ( unsigned  NodeIndex,
PottsMesh< 2 > *  pPottsMesh 
)

Helper method to see if cells are on the base of the crypt or not Also throws exception if cells reach the top boundary of the crypt.

Parameters
NodeIndexThe node of interest
pPottsMeshThe mesh containing the nodes
Returns
if the site is available.

Definition at line 40 of file CryptShovingCaBasedDivisionRule.cpp.

References EXCEPTION, PottsMesh< DIM >::GetVonNeumannNeighbouringNodeIndices(), and NEVER_REACHED.

Referenced by CalculateDaughterNodeIndex().

◆ IsRoomToDivide()

bool CryptShovingCaBasedDivisionRule::IsRoomToDivide ( CellPtr  pParentCell,
CaBasedCellPopulation< 2 > &  rCellPopulation 
)
virtual

Return whether there is room to divide at all.

Parameters
pParentCellThe cell to divide
rCellPopulationThe CA-based cell population
Returns
if the site is available.

Definition at line 69 of file CryptShovingCaBasedDivisionRule.cpp.

◆ serialize()

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

Serialize the object and its member variables.

Parameters
archivethe archive
versionthe current version of this class

Definition at line 69 of file CryptShovingCaBasedDivisionRule.hpp.

Friends And Related Symbol Documentation

◆ boost::serialization::access

friend class boost::serialization::access
friend

Definition at line 61 of file CryptShovingCaBasedDivisionRule.hpp.


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