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