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";
double mWntLabelledThreshold
virtual void OutputCellCycleModelParameters(out_stream &rParamsFile)
double GetStemCellG1Duration() const
double GetWntLevel(double height)
WntConcentrationType GetWntType()
virtual AbstractCellCycleModel * CreateCellCycleModel()
double NormalRandomDeviate(double mean, double stdDev)
WntConcentrationType GetType()
virtual void UpdateCellCyclePhase()
double mWntTransitThreshold
bool GetUseCellProliferativeTypeDependentG1Duration() const
double mMinimumGapDuration
void SetUseCellProliferativeTypeDependentG1Duration(bool useCellProliferativeTypeDependentG1Duration=true)
virtual bool CanCellTerminallyDifferentiate()
double GetWntLevel() const
static WntConcentration * Instance()
void SetWntTransitThreshold(double wntTransitThreshold)
const unsigned UNSIGNED_UNSET
static RandomNumberGenerator * Instance()
SimpleWntCellCycleModel()
void SetWntLabelledThreshold(double wntLabelledThreshold)
bool mUseCellProliferativeTypeDependentG1Duration
double GetWntTransitThreshold() const
double GetTransitCellG1Duration() const
double GetWntLabelledThreshold() const
virtual void OutputCellCycleModelParameters(out_stream &rParamsFile)
virtual void InitialiseDaughterCell()
#define CHASTE_CLASS_EXPORT(T)
void InitialiseDaughterCell()
void SetWntStemThreshold(double wntStemThreshold)
double GetWntStemThreshold() const
virtual void UpdateCellCyclePhase()