#include <AbstractCellsGenerator.hpp>
Public Member Functions | |
AbstractCellsGenerator () | |
virtual AbstractCellCycleModel * | CreateCellCycleModel ()=0 |
virtual double | GetTypicalTransitCellCycleTime ()=0 |
virtual double | GetTypicalStemCellCycleTime ()=0 |
virtual bool | CellsCanDifferentiate () |
virtual | ~AbstractCellsGenerator () |
void | GenerateBasic (std::vector< TissueCell > &rCells, const unsigned numCells) |
virtual void | GenerateForCrypt (std::vector< TissueCell > &rCells, TetrahedralMesh< 2, 2 > &rMesh, const std::vector< unsigned > locationIndices, bool randomBirthTimes, double y0=0.3, double y1=2.0, double y2=3.0, double y3=4.0, bool initialiseCells=false) |
It is subclassed for different types of cell model.
Definition at line 43 of file AbstractCellsGenerator.hpp.
AbstractCellsGenerator< DIM >::AbstractCellsGenerator | ( | ) | [inline] |
Default constructor.
Definition at line 50 of file AbstractCellsGenerator.hpp.
virtual AbstractCellsGenerator< DIM >::~AbstractCellsGenerator | ( | ) | [inline, virtual] |
Destructor.
Definition at line 81 of file AbstractCellsGenerator.hpp.
virtual AbstractCellCycleModel* AbstractCellsGenerator< DIM >::CreateCellCycleModel | ( | ) | [pure virtual] |
Implemented in FixedDurationGenerationBasedCellCycleModelCellsGenerator< DIM >, IngeWntSwatCellCycleModelCellsGenerator< DIM >, SimpleWntCellCycleModelCellsGenerator< DIM >, StochasticDurationGenerationBasedCellCycleModelCellsGenerator< DIM >, StochasticWntCellCycleModelCellsGenerator< DIM >, TysonNovakCellCycleModelCellsGenerator< DIM >, and WntCellCycleModelCellsGenerator< DIM >.
Referenced by AbstractCellsGenerator< DIM >::GenerateBasic(), and AbstractCellsGenerator< DIM >::GenerateForCrypt().
virtual double AbstractCellsGenerator< DIM >::GetTypicalTransitCellCycleTime | ( | ) | [pure virtual] |
Return the typical cell cycle duration for a transit cell, in hours. Used when giving cells random ages - the ages will follow a uniform distribution with this value as the upper limit.
Implemented in FixedDurationGenerationBasedCellCycleModelCellsGenerator< DIM >, IngeWntSwatCellCycleModelCellsGenerator< DIM >, SimpleWntCellCycleModelCellsGenerator< DIM >, StochasticDurationGenerationBasedCellCycleModelCellsGenerator< DIM >, StochasticWntCellCycleModelCellsGenerator< DIM >, TysonNovakCellCycleModelCellsGenerator< DIM >, and WntCellCycleModelCellsGenerator< DIM >.
Referenced by AbstractCellsGenerator< DIM >::GenerateForCrypt().
virtual double AbstractCellsGenerator< DIM >::GetTypicalStemCellCycleTime | ( | ) | [pure virtual] |
Return the typical cell cycle duration for a stem cell, in hours. Used when giving cells random ages - the ages will follow a uniform distribution with this value as the upper limit.
Implemented in FixedDurationGenerationBasedCellCycleModelCellsGenerator< DIM >, IngeWntSwatCellCycleModelCellsGenerator< DIM >, SimpleWntCellCycleModelCellsGenerator< DIM >, StochasticDurationGenerationBasedCellCycleModelCellsGenerator< DIM >, StochasticWntCellCycleModelCellsGenerator< DIM >, TysonNovakCellCycleModelCellsGenerator< DIM >, and WntCellCycleModelCellsGenerator< DIM >.
Referenced by AbstractCellsGenerator< DIM >::GenerateForCrypt().
bool AbstractCellsGenerator< DIM >::CellsCanDifferentiate | ( | ) | [inline, virtual] |
Whether cells are able to fully differentiate. Defaults to false unless overridden.
Reimplemented in FixedDurationGenerationBasedCellCycleModelCellsGenerator< DIM >, and StochasticDurationGenerationBasedCellCycleModelCellsGenerator< DIM >.
Definition at line 36 of file AbstractCellsGenerator.cpp.
Referenced by AbstractCellsGenerator< DIM >::GenerateForCrypt().
void AbstractCellsGenerator< DIM >::GenerateBasic | ( | std::vector< TissueCell > & | rCells, | |
const unsigned | numCells | |||
) | [inline] |
Fills a vector of cells with a specified cell cycle model, to match a given number of cells. Gives them birth times of 0 for node 0, -1 for node 1, -2 for node 2 etc...
rCells | An empty vector of cells to fill up. | |
numCells | The number of cells to generate. |
Definition at line 158 of file AbstractCellsGenerator.cpp.
References AbstractCellsGenerator< DIM >::CreateCellCycleModel(), and TissueCell::SetBirthTime().
void AbstractCellsGenerator< DIM >::GenerateForCrypt | ( | std::vector< TissueCell > & | rCells, | |
TetrahedralMesh< 2, 2 > & | rMesh, | |||
const std::vector< unsigned > | locationIndices, | |||
bool | randomBirthTimes, | |||
double | y0 = 0.3 , |
|||
double | y1 = 2.0 , |
|||
double | y2 = 3.0 , |
|||
double | y3 = 4.0 , |
|||
bool | initialiseCells = false | |||
) | [inline, virtual] |
Generates cells of a specified cell cycle type under the correct crypt conditions and gives random ages if required, or gives them an age of 0.0 - creates least work for solver startup.
rCells | An empty cells vector for this function to fill up | |
rMesh | The crypt mesh (can be cylindrical) | |
locationIndices | the node indices corresponding to real cells | |
randomBirthTimes | Whether to assign the cells random birth times (this can be expensive computationally with ODE models) | |
y0 | below this line cells are generation 0 (defaults to 0.3) | |
y1 | below this line cells are generation 1 (defaults to 2.0) | |
y2 | below this line cells are generation 2 (defaults to 3.0) | |
y3 | below this line cells are generation 3 (defaults to 4.0) | |
initialiseCells | whether to initialise the cell cycle models as each cell is created |
Definition at line 42 of file AbstractCellsGenerator.cpp.
References AbstractCellsGenerator< DIM >::CellsCanDifferentiate(), AbstractCellsGenerator< DIM >::CreateCellCycleModel(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNode(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), AbstractCellsGenerator< DIM >::GetTypicalStemCellCycleTime(), AbstractCellsGenerator< DIM >::GetTypicalTransitCellCycleTime(), TissueCell::InitialiseCellCycleModel(), RandomNumberGenerator::Instance(), RandomNumberGenerator::ranf(), and TissueCell::SetBirthTime().