Chaste Commit::ca8ccdedf819b6e02855bc0e8e6f50bdecbc5208
NullSrnModel Class Reference

#include <NullSrnModel.hpp>

+ Inheritance diagram for NullSrnModel:
+ Collaboration diagram for NullSrnModel:

Public Member Functions

 NullSrnModel ()
 
virtual ~NullSrnModel ()
 
void SimulateToCurrentTime ()
 
AbstractSrnModelCreateSrnModel ()
 
- Public Member Functions inherited from AbstractSrnModel
 AbstractSrnModel ()
 
virtual ~AbstractSrnModel ()
 
virtual void SetCell (CellPtr pCell)
 
virtual void Initialise ()
 
virtual void InitialiseDaughterCell ()
 
CellPtr GetCell ()
 
void SetSimulatedToTime (double simulatedToTime)
 
double GetSimulatedToTime () const
 
virtual void ResetForDivision ()
 
void OutputSrnModelInfo (out_stream &rParamsFile)
 
virtual void OutputSrnModelParameters (out_stream &rParamsFile)
 
void SetEdgeLocalIndex (unsigned index)
 
unsigned GetEdgeLocalIndex ()
 
bool HasEdgeModel () const
 
void SetEdgeModelIndicator (const bool isEdgeModel)
 
virtual void ScaleSrnVariables (const double theta)
 
virtual void AddSrnQuantities (AbstractSrnModel *pOtherSrn, const double scale=1.0)
 
virtual void AddShrunkEdgeSrn (AbstractSrnModel *pShrunkEdgeSrn)
 
virtual void AddMergedEdgeSrn (AbstractSrnModel *pMergedEdgeSrn)
 
virtual void AddShrunkEdgeToInterior (AbstractSrnModel *pShrunkEdgeSrn)
 
virtual void SplitEdgeSrn (const double relativePosition)
 
- Public Member Functions inherited from Identifiable
virtual ~Identifiable ()
 
std::string GetIdentifier () const
 

Private Member Functions

template<class Archive >
void serialize (Archive &archive, const unsigned int version)
 
 NullSrnModel (const NullSrnModel &rModel)
 

Friends

class boost::serialization::access
 

Additional Inherited Members

- Protected Member Functions inherited from AbstractSrnModel
 AbstractSrnModel (const AbstractSrnModel &rModel)
 
- Protected Attributes inherited from AbstractSrnModel
CellPtr mpCell
 
double mSimulatedToTime
 
unsigned mEdgeLocalIndex = UNSIGNED_UNSET
 
bool mIsEdgeBasedModel = false
 

Detailed Description

This class contains a dummy/null sub-cellular reaction network (SRN) model that can be used for any cell-cycle models that do not have an SRN, or where the SRN is combined with the main cell-cycle model.

Definition at line 52 of file NullSrnModel.hpp.

Constructor & Destructor Documentation

◆ NullSrnModel() [1/2]

NullSrnModel::NullSrnModel ( const NullSrnModel rModel)
private

Protected copy-constructor for use by CreateSrnModel(). The only way for external code to create a copy of a SRN model is by calling that method, to ensure that a model of the correct subclass is created.

This copy-constructor helps subclasses to ensure that all member variables are correctly copied when this happens.

This method is called by child classes to set member variables for a daughter cell upon cell division. Note that the parent SRN model will have had ResetForDivision() called just before CreateSrnModel() is called, so performing an exact copy of the parent is suitable behaviour. Any daughter-cell-specific initialisation can be done in InitialiseDaughterCell().

Parameters
rModelthe SRN model to copy.

Definition at line 56 of file NullSrnModel.cpp.

◆ NullSrnModel() [2/2]

NullSrnModel::NullSrnModel ( )

Default constructor.

Creates an NullSrnModel and calls SetBirthTime() on the AbstractSrnModel to make sure that can be set 'back in time' for cells which did not divide at the current time.

Definition at line 39 of file NullSrnModel.cpp.

Referenced by CreateSrnModel().

◆ ~NullSrnModel()

NullSrnModel::~NullSrnModel ( )
virtual

Destructor.

Definition at line 44 of file NullSrnModel.cpp.

Member Function Documentation

◆ CreateSrnModel()

AbstractSrnModel * NullSrnModel::CreateSrnModel ( )
virtual

Builder method to create new instances of the SRN model.

As this method is pure virtual, it must be overridden in subclasses.

This method is called by Cell::Divide() to create a SRN model for the daughter cell. Note that the parent SRN model will have had ResetForDivision() called just before CreateSrnModel() is called, so performing an exact copy of the parent is suitable behaviour. Any daughter-cell-specific initialisation can be done in InitialiseDaughterCell().

Copy constructors are used to set all the member variables in the appropriate classes.

Returns
new SRN model

Implements AbstractSrnModel.

Definition at line 77 of file NullSrnModel.cpp.

References NullSrnModel().

◆ serialize()

template<class Archive >
void NullSrnModel::serialize ( Archive &  archive,
const unsigned int  version 
)
inlineprivate

Archive the SRN model and member variables.

Parameters
archivethe archive
versionthe current version of this class

Definition at line 65 of file NullSrnModel.hpp.

◆ SimulateToCurrentTime()

void NullSrnModel::SimulateToCurrentTime ( )
virtual

Simulate the SRN to the current time.

As this method is pure virtual, it must be overridden in subclasses.

Implements AbstractSrnModel.

Definition at line 48 of file NullSrnModel.cpp.

References SimulationTime::GetTime(), SimulationTime::Instance(), and AbstractSrnModel::SetSimulatedToTime().

Friends And Related Symbol Documentation

◆ boost::serialization::access

friend class boost::serialization::access
friend

Needed for serialization.

Definition at line 57 of file NullSrnModel.hpp.


The documentation for this class was generated from the following files: