36 #ifndef ABSTRACTCELLCYCLEMODEL_HPP_
37 #define ABSTRACTCELLCYCLEMODEL_HPP_
41 #include "Identifiable.hpp"
43 #include <boost/serialization/base_object.hpp>
47 #include "OutputFileHandler.hpp"
48 #include "CellCyclePhases.hpp"
49 #include "SimulationTime.hpp"
53 typedef boost::shared_ptr<Cell> CellPtr;
73 template<
class Archive>
74 void serialize(Archive & archive,
const unsigned int version)
78 archive & p_time_wrapper;
CellCyclePhase mCurrentCellCyclePhase
virtual void SetBirthTime(double birthTime)
void OutputCellCycleModelInfo(out_stream &rParamsFile)
virtual void SetStemCellG1Duration(double stemCellG1Duration)
virtual void UpdateCellCyclePhase()=0
void SetMinimumGapDuration(double minimumGapDuration)
void SetMDuration(double mDuration)
virtual ~AbstractCellCycleModel()
double GetMinimumGapDuration()
#define CLASS_IS_ABSTRACT(T)
static SimulationTime * Instance()
void SetG2Duration(double g2Duration)
virtual bool CanCellTerminallyDifferentiate()
virtual double GetSDuration()
double mStemCellG1Duration
virtual double GetMDuration()
double GetStemCellG1Duration()
void SetCell(CellPtr pCell)
virtual void InitialiseDaughterCell()
void SetDimension(unsigned dimension)
virtual bool ReadyToDivide()
friend class boost::serialization::access
double GetTransitCellG1Duration()
void serialize(Archive &archive, const unsigned int version)
CellCyclePhase GetCurrentCellCyclePhase()
virtual double GetG1Duration()
virtual void OutputCellCycleModelParameters(out_stream &rParamsFile)=0
double mTransitCellG1Duration
virtual void SetTransitCellG1Duration(double transitCellG1Duration)
double GetBirthTime() const
virtual void ResetForDivision()
virtual double GetG2Duration()
double mMinimumGapDuration
virtual double GetAverageStemCellCycleTime()
SerializableSingleton< SINGLETON_CLASS > * GetSerializationWrapper() const
virtual AbstractCellCycleModel * CreateCellCycleModel()=0
virtual void Initialise()
void SetSDuration(double sDuration)
virtual double GetAverageTransitCellCycleTime()