36#include "SimpleWntCellCycleModel.hpp"
38#include "StemCellProliferativeType.hpp"
39#include "TransitCellProliferativeType.hpp"
40#include "DifferentiatedCellProliferativeType.hpp"
41#include "CellLabel.hpp"
42#include "WildTypeCellMutationState.hpp"
43#include "ApcOneHitCellMutationState.hpp"
44#include "ApcTwoHitCellMutationState.hpp"
45#include "BetaCateninOneHitCellMutationState.hpp"
48 : mUseCellProliferativeTypeDependentG1Duration(false),
49 mWntStemThreshold(0.8),
50 mWntTransitThreshold(0.65),
51 mWntLabelledThreshold(0.65)
57 mUseCellProliferativeTypeDependentG1Duration(rModel.mUseCellProliferativeTypeDependentG1Duration),
58 mWntStemThreshold(rModel.mWntStemThreshold),
59 mWntTransitThreshold(rModel.mWntTransitThreshold),
60 mWntLabelledThreshold(rModel.mWntLabelledThreshold)
134 assert(
mpCell !=
nullptr);
141 const unsigned DIM = 1;
147 const unsigned DIM = 2;
153 const unsigned DIM = 3;
165 WntConcentrationType wnt_type;
170 const unsigned DIM = 1;
176 const unsigned DIM = 2;
182 const unsigned DIM = 3;
200 double wnt_division_threshold = DBL_MAX;
220 wnt_division_threshold = 0.0;
236 if (wnt_level >= wnt_division_threshold)
250 boost::shared_ptr<AbstractCellProperty> p_stem_type =
252 mpCell->SetCellProliferativeType(p_stem_type);
256 boost::shared_ptr<AbstractCellProperty> p_transit_type =
258 mpCell->SetCellProliferativeType(p_transit_type);
264 boost::shared_ptr<AbstractCellProperty> p_diff_type =
266 mpCell->SetCellProliferativeType(p_diff_type);
275 if (wnt_type == RADIAL)
277 boost::shared_ptr<AbstractCellProperty> p_transit_type =
279 mpCell->SetCellProliferativeType(p_transit_type);
297 assert(wntStemThreshold <= 1.0);
298 assert(wntStemThreshold >= 0.0);
329 *rParamsFile <<
"\t\t\t<WntStemThreshold>" <<
mWntStemThreshold <<
"</WntStemThreshold>\n";
330 *rParamsFile <<
"\t\t\t<WntTransitThreshold>" <<
mWntTransitThreshold <<
"</WntTransitThreshold>\n";
331 *rParamsFile <<
"\t\t\t<WntLabelledThreshold>" <<
mWntLabelledThreshold <<
"</WntLabelledThreshold>\n";
const unsigned UNSIGNED_UNSET
#define CHASTE_CLASS_EXPORT(T)
double GetStemCellG1Duration() const
double GetTransitCellG1Duration() const
double mMinimumGapDuration
virtual void UpdateCellCyclePhase()
virtual void OutputCellCycleModelParameters(out_stream &rParamsFile)
void InitialiseDaughterCell()
double NormalRandomDeviate(double mean, double stdDev)
static RandomNumberGenerator * Instance()
void SetWntStemThreshold(double wntStemThreshold)
virtual void OutputCellCycleModelParameters(out_stream &rParamsFile)
double GetWntTransitThreshold() const
void SetWntTransitThreshold(double wntTransitThreshold)
virtual AbstractCellCycleModel * CreateCellCycleModel()
SimpleWntCellCycleModel()
void SetWntLabelledThreshold(double wntLabelledThreshold)
bool mUseCellProliferativeTypeDependentG1Duration
double GetWntLevel() const
virtual bool CanCellTerminallyDifferentiate()
void SetUseCellProliferativeTypeDependentG1Duration(bool useCellProliferativeTypeDependentG1Duration=true)
double mWntTransitThreshold
virtual void UpdateCellCyclePhase()
double mWntLabelledThreshold
WntConcentrationType GetWntType()
bool GetUseCellProliferativeTypeDependentG1Duration() const
double GetWntLabelledThreshold() const
double GetWntStemThreshold() const
virtual void InitialiseDaughterCell()
static WntConcentration * Instance()
WntConcentrationType GetType()
double GetWntLevel(double height)