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;
virtual void SetBirthTime(double birthTime)
virtual double GetAverageStemCellCycleTime()=0
void OutputCellCycleModelInfo(out_stream &rParamsFile)
virtual ~AbstractCellCycleModel()
AbstractCellCycleModel & operator=(const AbstractCellCycleModel &)
#define CLASS_IS_ABSTRACT(T)
static SimulationTime * Instance()
virtual bool CanCellTerminallyDifferentiate()
virtual double GetAverageTransitCellCycleTime()=0
void SetCell(CellPtr pCell)
virtual bool ReadyToDivide()=0
virtual void InitialiseDaughterCell()
void SetDimension(unsigned dimension)
friend class boost::serialization::access
void serialize(Archive &archive, const unsigned int version)
virtual void OutputCellCycleModelParameters(out_stream &rParamsFile)=0
double GetBirthTime() const
virtual void ResetForDivision()
unsigned GetDimension() const
SerializableSingleton< SINGLETON_CLASS > * GetSerializationWrapper() const
virtual AbstractCellCycleModel * CreateCellCycleModel()=0
virtual void Initialise()