Chaste Commit::baa90ac2819b962188b7562f2326be23c47859a7
|
#include <CellSrnModel.hpp>
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 AbstractSrnModel * | CreateSrnModel () |
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< AbstractSrnModel > | mpInteriorSrnModel |
Friends | |
class | boost::serialization::access |
Additional Inherited Members | |
Protected Attributes inherited from AbstractSrnModel | |
CellPtr | mpCell |
double | mSimulatedToTime |
unsigned | mEdgeLocalIndex = UNSIGNED_UNSET |
bool | mIsEdgeBasedModel = false |
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.
|
private |
Type alias for a vector storing pointers to AbstractSrnModel.
Definition at line 84 of file CellSrnModel.hpp.
Type alias for constant iterator in the SRN model.
Definition at line 109 of file CellSrnModel.hpp.
Type alias for non-constant iterator in the SRN model.
Definition at line 103 of file CellSrnModel.hpp.
|
protected |
Copy constructor. Called ONLY when a cell division occurs. See parent class comment for details
rModel | SRN model to be copied |
Definition at line 38 of file CellSrnModel.cpp.
References GetInteriorSrn(), AbstractSrnModel::HasEdgeModel(), mEdgeSrnModels, AbstractSrnModel::mIsEdgeBasedModel, mpInteriorSrnModel, and SetInteriorSrnModel().
CellSrnModel::CellSrnModel | ( | ) |
Default constuctor.
Definition at line 60 of file CellSrnModel.cpp.
References mpInteriorSrnModel.
Referenced by CreateSrnModel().
CellSrnModel::~CellSrnModel | ( | ) |
Destructor.
Definition at line 65 of file CellSrnModel.cpp.
void CellSrnModel::AddEdgeSrn | ( | std::vector< AbstractSrnModelPtr > | edgeSrns | ) |
Adds a vector of SRN models to this cell.
edgeSrns | vector 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().
void CellSrnModel::AddEdgeSrnModel | ( | AbstractSrnModelPtr | pEdgeSrn | ) |
Inserts edge SRN at the end of the list.
pEdgeSrn | the edge SRN to be inserted |
Definition at line 137 of file CellSrnModel.cpp.
References mEdgeSrnModels, and AbstractSrnModel::mIsEdgeBasedModel.
|
inline |
Returns an iterator pointing to the first element.
Definition at line 115 of file CellSrnModel.hpp.
References mEdgeSrnModels.
|
inline |
Returns a constant iterator pointing to the first element.
Definition at line 127 of file CellSrnModel.hpp.
References mEdgeSrnModels.
|
inline |
Returns a constant iterator pointing to the first element.
Definition at line 139 of file CellSrnModel.hpp.
References mEdgeSrnModels.
|
inline |
Returns a constant iterator pointing one past the last element.
Definition at line 145 of file CellSrnModel.hpp.
References mEdgeSrnModels.
|
virtual |
Called in Cell::Divide()
Implements AbstractSrnModel.
Definition at line 121 of file CellSrnModel.cpp.
References CellSrnModel().
|
inline |
Returns an iterator pointing one past the last element.
Definition at line 121 of file CellSrnModel.hpp.
References mEdgeSrnModels.
|
inline |
Returns a constant iterator pointing one past the last element.
Definition at line 133 of file CellSrnModel.hpp.
References mEdgeSrnModels.
const std::vector< AbstractSrnModelPtr > & CellSrnModel::GetEdges | ( | ) | const |
Return all edge SRNs.
Definition at line 156 of file CellSrnModel.cpp.
References mEdgeSrnModels.
Referenced by VertexBasedPopulationSrn< DIM >::UpdateSrnAfterBirthOrDeath().
AbstractSrnModelPtr CellSrnModel::GetEdgeSrn | ( | unsigned | index | ) | const |
Get edge SRN at an index.
index | of the SRN to return |
Definition at line 150 of file CellSrnModel.cpp.
References mEdgeSrnModels.
AbstractSrnModelPtr CellSrnModel::GetInteriorSrn | ( | ) | const |
Returns interior SRN.
Definition at line 166 of file CellSrnModel.cpp.
References mpInteriorSrnModel.
Referenced by CellSrnModel(), and VertexBasedPopulationSrn< DIM >::RemapCellSrn().
unsigned CellSrnModel::GetNumEdgeSrn | ( | ) | const |
Get number of edge SRNs.
Definition at line 145 of file CellSrnModel.cpp.
References mEdgeSrnModels.
Referenced by VertexBasedPopulationSrn< DIM >::RemapCellSrn(), DeltaNotchEdgeInteriorTrackingModifier< DIM >::UpdateCellData(), and DeltaNotchEdgeTrackingModifier< DIM >::UpdateCellData().
|
virtual |
Initialize constituent SRN models.
Reimplemented from AbstractSrnModel.
Definition at line 69 of file CellSrnModel.cpp.
References mEdgeSrnModels, and mpInteriorSrnModel.
|
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.
|
inlineprivate |
Archive the SRN model and member variables.
archive | the archive |
version | the current version of this class |
Definition at line 70 of file CellSrnModel.hpp.
References mEdgeSrnModels, and mpInteriorSrnModel.
|
virtual |
Overriden method. We Set mpCell for each SRN contained in this cell.
pCell | pointer to a Cell |
Reimplemented from AbstractSrnModel.
Definition at line 171 of file CellSrnModel.cpp.
References mEdgeSrnModels, mpInteriorSrnModel, and AbstractSrnModel::SetCell().
void CellSrnModel::SetInteriorSrnModel | ( | AbstractSrnModelPtr | pInteriorSrn | ) |
Set interior SRN.
pInteriorSrn | poiner to an interior SRN model |
Definition at line 161 of file CellSrnModel.cpp.
References mpInteriorSrnModel.
Referenced by CellSrnModel().
|
virtual |
Simulate SRN models.
Implements AbstractSrnModel.
Definition at line 107 of file CellSrnModel.cpp.
References mEdgeSrnModels, mpInteriorSrnModel, and AbstractSrnModel::mSimulatedToTime.
|
friend |
Needed for serialization.
Definition at line 62 of file CellSrnModel.hpp.
|
private |
Vector of pointers to edge SRN models.
Definition at line 78 of file CellSrnModel.hpp.
Referenced by CellSrnModel(), AddEdgeSrn(), AddEdgeSrnModel(), begin(), begin(), cbegin(), cend(), end(), end(), GetEdges(), GetEdgeSrn(), GetNumEdgeSrn(), Initialise(), ResetForDivision(), serialize(), SetCell(), and SimulateToCurrentTime().
|
private |
Pointer to interior SRN model.
Definition at line 87 of file CellSrnModel.hpp.
Referenced by CellSrnModel(), CellSrnModel(), GetInteriorSrn(), Initialise(), ResetForDivision(), serialize(), SetCell(), SetInteriorSrnModel(), and SimulateToCurrentTime().