Chaste Commit::baa90ac2819b962188b7562f2326be23c47859a7
CellSrnModel Class Reference

#include <CellSrnModel.hpp>

+ Inheritance diagram for CellSrnModel:
+ Collaboration diagram for CellSrnModel:

Public Types

using iterator = abstractsrnmodel_t::iterator
 
using const_iterator = abstractsrnmodel_t::const_iterator
 

Public Member Functions

iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
const_iterator cbegin () const
 
const_iterator cend () const
 
 CellSrnModel ()
 
 ~CellSrnModel ()
 
virtual void Initialise ()
 
virtual void ResetForDivision ()
 
virtual void SimulateToCurrentTime ()
 
virtual AbstractSrnModelCreateSrnModel ()
 
void AddEdgeSrn (std::vector< AbstractSrnModelPtr > edgeSrns)
 
void AddEdgeSrnModel (AbstractSrnModelPtr pEdgeSrn)
 
unsigned GetNumEdgeSrn () const
 
AbstractSrnModelPtr GetEdgeSrn (unsigned index) const
 
const std::vector< AbstractSrnModelPtr > & GetEdges () const
 
void SetInteriorSrnModel (AbstractSrnModelPtr pInteriorSrn)
 
AbstractSrnModelPtr GetInteriorSrn () const
 
virtual void SetCell (CellPtr pCell)
 
- Public Member Functions inherited from AbstractSrnModel
 AbstractSrnModel ()
 
virtual ~AbstractSrnModel ()
 
virtual void InitialiseDaughterCell ()
 
CellPtr GetCell ()
 
void SetSimulatedToTime (double simulatedToTime)
 
double GetSimulatedToTime () const
 
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
 

Protected Member Functions

 CellSrnModel (const CellSrnModel &rModel)
 
- Protected Member Functions inherited from AbstractSrnModel
 AbstractSrnModel (const AbstractSrnModel &rModel)
 

Private Types

using abstractsrnmodel_t = std::vector< AbstractSrnModelPtr >
 

Private Member Functions

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

Private Attributes

std::vector< boost::shared_ptr< AbstractSrnModel > > mEdgeSrnModels
 
boost::shared_ptr< AbstractSrnModelmpInteriorSrnModel
 

Friends

class boost::serialization::access
 

Additional Inherited Members

- Protected Attributes inherited from AbstractSrnModel
CellPtr mpCell
 
double mSimulatedToTime
 
unsigned mEdgeLocalIndex = UNSIGNED_UNSET
 
bool mIsEdgeBasedModel = false
 

Detailed Description

SRN model at the cell level, has representation for edges internally. Also contains cell interior (cytoplasmic) SRN. Mostly serves to coordinate between interior/edge SRNs, in case these are specified. Functionality of SRNs is defined in AbstractSrnModel class and user-defined SRN models.

Definition at line 56 of file CellSrnModel.hpp.

Member Typedef Documentation

◆ abstractsrnmodel_t

Type alias for a vector storing pointers to AbstractSrnModel.

Definition at line 84 of file CellSrnModel.hpp.

◆ const_iterator

Type alias for constant iterator in the SRN model.

Definition at line 109 of file CellSrnModel.hpp.

◆ iterator

Type alias for non-constant iterator in the SRN model.

Definition at line 103 of file CellSrnModel.hpp.

Constructor & Destructor Documentation

◆ CellSrnModel() [1/2]

CellSrnModel::CellSrnModel ( const CellSrnModel rModel)
protected

Copy constructor. Called ONLY when a cell division occurs. See parent class comment for details

Parameters
rModelSRN model to be copied

Definition at line 38 of file CellSrnModel.cpp.

References GetInteriorSrn(), AbstractSrnModel::HasEdgeModel(), mEdgeSrnModels, AbstractSrnModel::mIsEdgeBasedModel, mpInteriorSrnModel, and SetInteriorSrnModel().

◆ CellSrnModel() [2/2]

CellSrnModel::CellSrnModel ( )

Default constuctor.

Definition at line 60 of file CellSrnModel.cpp.

References mpInteriorSrnModel.

Referenced by CreateSrnModel().

◆ ~CellSrnModel()

CellSrnModel::~CellSrnModel ( )

Destructor.

Definition at line 65 of file CellSrnModel.cpp.

Member Function Documentation

◆ AddEdgeSrn()

void CellSrnModel::AddEdgeSrn ( std::vector< AbstractSrnModelPtr >  edgeSrns)

Adds a vector of SRN models to this cell.

Parameters
edgeSrnsvector of SRN models. Index of each SRN corresponds to the local edge index

Definition at line 126 of file CellSrnModel.cpp.

References mEdgeSrnModels, and AbstractSrnModel::mIsEdgeBasedModel.

Referenced by VertexBasedPopulationSrn< DIM >::RemapCellSrn().

◆ AddEdgeSrnModel()

void CellSrnModel::AddEdgeSrnModel ( AbstractSrnModelPtr  pEdgeSrn)

Inserts edge SRN at the end of the list.

Parameters
pEdgeSrnthe edge SRN to be inserted

Definition at line 137 of file CellSrnModel.cpp.

References mEdgeSrnModels, and AbstractSrnModel::mIsEdgeBasedModel.

◆ begin() [1/2]

iterator CellSrnModel::begin ( )
inline

Returns an iterator pointing to the first element.

Returns
Iterator to the beginning.

Definition at line 115 of file CellSrnModel.hpp.

References mEdgeSrnModels.

◆ begin() [2/2]

const_iterator CellSrnModel::begin ( ) const
inline

Returns a constant iterator pointing to the first element.

Returns
Constant iterator to the beginning.

Definition at line 127 of file CellSrnModel.hpp.

References mEdgeSrnModels.

◆ cbegin()

const_iterator CellSrnModel::cbegin ( ) const
inline

Returns a constant iterator pointing to the first element.

Returns
Constant iterator to the beginning.

Definition at line 139 of file CellSrnModel.hpp.

References mEdgeSrnModels.

◆ cend()

const_iterator CellSrnModel::cend ( ) const
inline

Returns a constant iterator pointing one past the last element.

Returns
Constant iterator to the end.

Definition at line 145 of file CellSrnModel.hpp.

References mEdgeSrnModels.

◆ CreateSrnModel()

AbstractSrnModel * CellSrnModel::CreateSrnModel ( )
virtual

Called in Cell::Divide()

Returns

Implements AbstractSrnModel.

Definition at line 121 of file CellSrnModel.cpp.

References CellSrnModel().

◆ end() [1/2]

iterator CellSrnModel::end ( )
inline

Returns an iterator pointing one past the last element.

Returns
Iterator to the end.

Definition at line 121 of file CellSrnModel.hpp.

References mEdgeSrnModels.

◆ end() [2/2]

const_iterator CellSrnModel::end ( ) const
inline

Returns a constant iterator pointing one past the last element.

Returns
Constant iterator to the end.

Definition at line 133 of file CellSrnModel.hpp.

References mEdgeSrnModels.

◆ GetEdges()

const std::vector< AbstractSrnModelPtr > & CellSrnModel::GetEdges ( ) const

Return all edge SRNs.

Returns
vector of SRNs associated to this cell

Definition at line 156 of file CellSrnModel.cpp.

References mEdgeSrnModels.

Referenced by VertexBasedPopulationSrn< DIM >::UpdateSrnAfterBirthOrDeath().

◆ GetEdgeSrn()

AbstractSrnModelPtr CellSrnModel::GetEdgeSrn ( unsigned  index) const

Get edge SRN at an index.

Parameters
indexof the SRN to return
Returns
SRN to be returned

Definition at line 150 of file CellSrnModel.cpp.

References mEdgeSrnModels.

◆ GetInteriorSrn()

AbstractSrnModelPtr CellSrnModel::GetInteriorSrn ( ) const

Returns interior SRN.

Returns
interior SRN

Definition at line 166 of file CellSrnModel.cpp.

References mpInteriorSrnModel.

Referenced by CellSrnModel(), and VertexBasedPopulationSrn< DIM >::RemapCellSrn().

◆ GetNumEdgeSrn()

unsigned CellSrnModel::GetNumEdgeSrn ( ) const

◆ Initialise()

void CellSrnModel::Initialise ( )
virtual

Initialize constituent SRN models.

Reimplemented from AbstractSrnModel.

Definition at line 69 of file CellSrnModel.cpp.

References mEdgeSrnModels, and mpInteriorSrnModel.

◆ ResetForDivision()

void CellSrnModel::ResetForDivision ( )
virtual

Calls SRN model specific behaviour at the time of cell division. All constituent SRNs models (edge and/or interior, if there are any) call their implementation of this method.

Reimplemented from AbstractSrnModel.

Definition at line 82 of file CellSrnModel.cpp.

References SimulationTime::Instance(), mEdgeSrnModels, mpInteriorSrnModel, and AbstractSrnModel::mSimulatedToTime.

◆ serialize()

template<class Archive >
void CellSrnModel::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 70 of file CellSrnModel.hpp.

References mEdgeSrnModels, and mpInteriorSrnModel.

◆ SetCell()

void CellSrnModel::SetCell ( CellPtr  pCell)
virtual

Overriden method. We Set mpCell for each SRN contained in this cell.

Parameters
pCellpointer to a Cell

Reimplemented from AbstractSrnModel.

Definition at line 171 of file CellSrnModel.cpp.

References mEdgeSrnModels, mpInteriorSrnModel, and AbstractSrnModel::SetCell().

◆ SetInteriorSrnModel()

void CellSrnModel::SetInteriorSrnModel ( AbstractSrnModelPtr  pInteriorSrn)

Set interior SRN.

Parameters
pInteriorSrnpoiner to an interior SRN model

Definition at line 161 of file CellSrnModel.cpp.

References mpInteriorSrnModel.

Referenced by CellSrnModel().

◆ SimulateToCurrentTime()

void CellSrnModel::SimulateToCurrentTime ( )
virtual

Simulate SRN models.

Implements AbstractSrnModel.

Definition at line 107 of file CellSrnModel.cpp.

References mEdgeSrnModels, mpInteriorSrnModel, and AbstractSrnModel::mSimulatedToTime.

Friends And Related Symbol Documentation

◆ boost::serialization::access

friend class boost::serialization::access
friend

Needed for serialization.

Definition at line 62 of file CellSrnModel.hpp.

Member Data Documentation

◆ mEdgeSrnModels

std::vector<boost::shared_ptr<AbstractSrnModel> > CellSrnModel::mEdgeSrnModels
private

◆ mpInteriorSrnModel

boost::shared_ptr<AbstractSrnModel> CellSrnModel::mpInteriorSrnModel
private

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