36 #include "SimpleTargetAreaModifier.hpp"
38 template<
unsigned DIM>
44 template<
unsigned DIM>
49 template<
unsigned DIM>
53 double cell_target_area = this->mReferenceTargetArea;
55 double g1_duration = pCell->GetCellCycleModel()->GetG1Duration();
58 if (g1_duration == DBL_MAX)
61 g1_duration = pCell->GetCellCycleModel()->GetTransitCellG1Duration();
67 if (pCell->GetStartOfApoptosisTime() - pCell->GetBirthTime() < g1_duration)
69 cell_target_area *= 0.5*(1 + (pCell->GetStartOfApoptosisTime() - pCell->GetBirthTime())/g1_duration);
73 cell_target_area = cell_target_area - 0.5*cell_target_area/(pCell->GetApoptosisTime())*(
SimulationTime::Instance()->
GetTime()-pCell->GetStartOfApoptosisTime());
76 if (cell_target_area < 0)
83 double cell_age = pCell->GetAge();
86 if (cell_age < g1_duration)
88 cell_target_area *= 0.5*(1 + cell_age/g1_duration);
99 if (pCell->ReadyToDivide())
101 cell_target_area = 0.5*this->mReferenceTargetArea;
107 pCell->GetCellData()->SetItem(
"target area", cell_target_area);
110 template<
unsigned DIM>
virtual void UpdateTargetAreaOfCell(const CellPtr pCell)
virtual void OutputSimulationModifierParameters(out_stream &rParamsFile)
void OutputSimulationModifierParameters(out_stream &rParamsFile)
SimpleTargetAreaModifier()
static SimulationTime * Instance()
virtual ~SimpleTargetAreaModifier()
#define EXPORT_TEMPLATE_CLASS_SAME_DIMS(CLASS)