MEDYAN  3.1
Software for simulating active matter dynamics
Filament Class Reference

Used to store data about connectivity of Cylinders and Beads. More...

#include <Filament.h>

Inheritance diagram for Filament:
Collaboration diagram for Filament:

Public Member Functions

 Filament (SubSystem *s, short filamentType, vector< double > &position, vector< double > &direction, bool nucleation=false, bool branch=false)
 This constructor creates a short filament, containing only two beads, at runtime. More...
 
 Filament (SubSystem *s, short filamentType, vector< vector< double >> &position, int numBeads, string projectionType="PREDEFINED")
 This constructor is called to create a filament at startup. More...
 
 Filament (SubSystem *s, short filamentType)
 This constructor is called when a filament is severed. More...
 
 ~Filament ()
 This destructor is called when a filament is to be removed from the system. More...
 
void extendPlusEnd (short plusEnd)
 Addition of a new cylinder. More...
 
void extendMinusEnd (short minusEnd)
 Same as extension front, but adds a new first cylinder with first bead = new bead and a second bead is equal to the first bead in the cylinder, which used to be first. More...
 
void extendPlusEnd (vector< double > &coordinates)
 Extend, used for initialization. More...
 
void extendMinusEnd (vector< double > &coordinates)
 
void retractPlusEnd ()
 Retraction of front of a cylinder. More...
 
void retractMinusEnd ()
 Retraction of back of a cylinder. More...
 
void polymerizePlusEnd ()
 Polymerization of a filament front, which moves the leading bead one monomer length. More...
 
void polymerizeMinusEnd ()
 Same as Polymerization front, but moves the back bead one monomer length, and updates cylinder parameters accordingly. More...
 
void depolymerizePlusEnd ()
 Depolymerization of a filament front, which moves the leading bead back one monomer length. More...
 
void depolymerizeMinusEnd ()
 Same as depolymerization front, but moves the back bead forward one monomer length. More...
 
void nucleate (short plusEnd, short filament, short minusEnd)
 Initialize the nucleation of a new filament Initializes all chemical species in initial Cylinder. More...
 
Filamentsever (int cylinderPosition)
 Sever a filament at a given cylinder position. More...
 
deque< Cylinder * > & getCylinderVector ()
 Get vector of cylinders that this filament contains. More...
 
int getID ()
 Get ID. More...
 
int getType ()
 Get type. More...
 
virtual void printSelf ()
 Prints information about this node. Useful for debugging. More...
 
bool isConsistent ()
 Check the consistency of the filament. More...
 
virtual bool apply (Visitor &v) override
 Implements the apply_if() method of the Component class by recursively applying it to itself and all its children. More...
 
virtual bool apply (SpeciesVisitor &v) override
 Implements the apply_if() method of the Component class by recursively applying it to itself and all its children that contain Species. More...
 
virtual bool apply (ReactionVisitor &v) override
 Implements the apply_if() method of the Component class by recursively applying it to itself and all its children that contain ReactionBase. More...
 
virtual bool isComposite () const override
 Returns true. More...
 
virtual string getFullName () const override
 Returns the full name of this node. More...
 
virtual void addChild (unique_ptr< Component > &&child)
 Adds a Component child to this Composite node. More...
 
virtual void removeChild (Component *child)
 Remove *child from this node's children. More...
 
virtual size_t numberOfChildren () const override
 Returns the number of immediate children of this node. More...
 
virtual size_t numberOfSpecies () const override
 Returns the number of Species being immediately managed by this node (i.e. More...
 
virtual size_t countDescendents () const override
 Return the total number of nodes contained under this node's hieararchy. More...
 
virtual size_t countSpecies () const override
 Returns the number of Species being managed by this node and its descendent nodes. More...
 
virtual size_t numberOfReactions () const override
 Returns the number of ReactionBase objets being immediately managed by this node (i.e. More...
 
virtual size_t countReactions () const override
 Returns the number of ReactionBase objects being managed by this node and its descendent nodes. More...
 
virtual vector< unique_ptr< Component > > & children ()
 Returns a reference to the container of Component children of this node. More...
 
virtual const vector< unique_ptr< Component > > & children () const
 Returns a const reference to the container of Component children of this node. More...
 
virtual Componentchildren (size_t i)
 Returns a pointer to the i-th Component child of this node. More...
 
virtual bool apply_impl (SpeciesVisitor &v)
 Applies SpeciesVisitor v to every Species* object directly owned by this node. More...
 
virtual bool apply_impl (ReactionVisitor &v)
 Applies ReactionBaseVisitor v to every ReactionBase* object directly owned by this node. More...
 
CompositegetParent ()
 Returns the pointer to the parent node. More...
 
void setParent (Composite *other)
 Sets the parent of this node to other. More...
 
bool isRoot () const
 Returns true if this node is the root node. More...
 
CompositegetRoot ()
 Returns the root node of the hieararchy to which this node belongs to. More...
 
virtual bool isSpeciesContainer () const
 Returns true if this node contains non-zero number of Species. More...
 
virtual bool isReactionsContainer () const
 Returns true if this node contains non-zero number of reactions (i.e. More...
 
void resetDeltaPlusEnd ()
 Reset delta. More...
 
void resetDeltaMinusEnd ()
 Reset delta. More...
 
short getDeltaPlusEnd ()
 Get delta. More...
 
short getDeltaMinusEnd ()
 Get delta. More...
 
CylindergetMinusEndCylinder ()
 Get end cylinder. More...
 
CylindergetPlusEndCylinder ()
 Get end cylinder. More...
 
virtual void addToSubSystem ()
 SubSystem management, inherited from Trackable. More...
 
virtual void removeFromSubSystem ()
 SubSystem management, inherited from Trackable. More...
 
vector< double > nextBeadProjection (Bead *b, double d, vector< double > director)
 Projection function, returns a vector of coordinates for bead creation. More...
 
vector< vector< double > > straightFilamentProjection (vector< vector< double >> &v, int numBeads)
 Projection function, returns a vector of coordinates for bead creation. More...
 
vector< vector< double > > zigZagFilamentProjection (vector< vector< double >> &v, int numBeads)
 Projection function, returns a vector of coordinates for bead creation. More...
 
vector< vector< double > > arcFilamentProjection (vector< vector< double >> &v, int numBeads)
 Projection function, returns a vector of coordinates for bead creation. More...
 
vector< vector< double > > predefinedFilamentProjection (vector< vector< double >> &v, int numBeads)
 Projection function, returns a vector of coordinates for bead creation. More...
 

Static Public Member Functions

static const vector< Filament * > & getFilaments ()
 Get all instances of this class from the SubSystem. More...
 
static int numFilaments ()
 Get the number of filaments in this system. More...
 
static HistogramgetTurnoverTimes ()
 Get the turnover times. More...
 
static species_copy_t countSpecies (short filamentType, const string &name)
 Count the number of filament species with a given name in the system. More...
 

Protected Attributes

bool _movable
 Object type. More...
 
bool _reactable
 Object type. More...
 
bool _dneighbor
 Object type. More...
 
bool _neighbor
 Object type. More...
 

Private Attributes

deque< Cylinder * > _cylinderVector
 Deque of cylinders. More...
 
SubSystem_subSystem
 SubSystem pointer. More...
 
short _filType
 Filament type. More...
 
int _ID
 Unique integer id of this filament. More...
 
short _deltaPlusEnd = 0
 Change in filament's cylinders at plus end since last snapshot. More...
 
short _deltaMinusEnd = 0
 Change in filament's cylinders at minus end since last snapshot. More...
 
int _plusEndPosition = 0
 Position of plus end bead at last turnover. More...
 
double _turnoverTime = 0
 Time since last turnover. More...
 

Static Private Attributes

static Database< Filament * > _filaments
 Collection in SubSystem. More...
 
static Histogram_turnoverTimes
 Histogram data. More...
 

Friends

class Controller
 

Detailed Description

Used to store data about connectivity of Cylinders and Beads.

This class contains information about Cylinders and Beads connectivity. It has functionality to polymerize and depolymerize, as well as extend and retract by creating and deleting Cylinder and Bead in the system.

Extending the Trackable class, all instances are kept and easily accessed by the SubSystem.

A Filament can also be initialized as a number of different shapes.

Definition at line 46 of file Filament.h.

Constructor & Destructor Documentation

§ Filament() [1/3]

Filament::Filament ( SubSystem s,
short  filamentType,
vector< double > &  position,
vector< double > &  direction,
bool  nucleation = false,
bool  branch = false 
)

This constructor creates a short filament, containing only two beads, at runtime.

Coordinates of the first bead is an input, second is set up by using an input direction. Using all this, two constructors for beads and cylinders are called.

Parameters
nucleation- this filament was nucleated at runtime by a non-branching species
branching- this filament was branched at runtime from an existing filament

Definition at line 42 of file Filament.cpp.

References _cylinderVector, _filaments, _filType, _ID, _plusEndPosition, _subSystem, SubSystem::addTrackable(), arcFilamentProjection(), extendPlusEnd(), SysParams::Geometry(), Database< T >::getID(), GeoParams::minCylinderSize, GeoParams::monomerSize, mathfunc::nextPointProjection(), predefinedFilamentProjection(), Cylinder::setPlusEnd(), straightFilamentProjection(), Trackable::Trackable(), mathfunc::twoPointDirection(), and zigZagFilamentProjection().

§ Filament() [2/3]

Filament::Filament ( SubSystem s,
short  filamentType,
vector< vector< double >> &  position,
int  numBeads,
string  projectionType = "PREDEFINED" 
)

This constructor is called to create a filament at startup.

It creates a filament with a number of beads numBeads. Filaments starts and ends in the point determined by position vector.

§ Filament() [3/3]

Filament::Filament ( SubSystem s,
short  filamentType 
)
inline

This constructor is called when a filament is severed.

It creates a filament that initially has no cylinders.

Definition at line 97 of file Filament.h.

References depolymerizeMinusEnd(), depolymerizePlusEnd(), extendMinusEnd(), extendPlusEnd(), nucleate(), polymerizeMinusEnd(), polymerizePlusEnd(), retractMinusEnd(), retractPlusEnd(), sever(), and ~Filament().

§ ~Filament()

Filament::~Filament ( )

This destructor is called when a filament is to be removed from the system.

Removes all cylinders and beads associated with the filament.

Definition at line 113 of file Filament.cpp.

References _cylinderVector, _subSystem, and SubSystem::removeTrackable().

Referenced by Filament().

Member Function Documentation

§ addChild()

virtual void Composite::addChild ( unique_ptr< Component > &&  child)
inlinevirtualinherited

Adds a Component child to this Composite node.

Parameters
child- is a unique_ptr<Component>, hence, this node takes the memory ownership of the corresponding child pointer.
Note
the rvalue semantics - the unique_ptr<...> cannot be copied, but only can be moved

Definition at line 81 of file Composite.h.

Referenced by Bead::Bead(), CompartmentGrid::CompartmentGrid(), Cylinder::Cylinder(), MTOC::setBubble(), and sever().

§ addToSubSystem()

virtual void Filament::addToSubSystem ( )
inlinevirtual

SubSystem management, inherited from Trackable.

Implements Trackable.

Definition at line 178 of file Filament.h.

Referenced by getPlusEndCylinder().

§ apply() [1/3]

bool Composite::apply ( Visitor v)
overridevirtualinherited

Implements the apply_if() method of the Component class by recursively applying it to itself and all its children.

Reimplemented from Component.

Definition at line 18 of file Composite.cpp.

References Composite::children(), and Visitor::visit().

Referenced by Composite::~Composite().

§ apply() [2/3]

bool Composite::apply ( SpeciesVisitor v)
overridevirtualinherited

Implements the apply_if() method of the Component class by recursively applying it to itself and all its children that contain Species.

Reimplemented from Component.

Definition at line 31 of file Composite.cpp.

References Component::apply_impl(), and Composite::children().

§ apply() [3/3]

bool Composite::apply ( ReactionVisitor v)
overridevirtualinherited

Implements the apply_if() method of the Component class by recursively applying it to itself and all its children that contain ReactionBase.

Reimplemented from Component.

Definition at line 43 of file Composite.cpp.

References Component::apply_impl(), and Composite::children().

§ apply_impl() [1/2]

virtual bool Component::apply_impl ( SpeciesVisitor v)
inlinevirtualinherited

Applies SpeciesVisitor v to every Species* object directly owned by this node.

This method needs to be overriden by descendent classes that contain Species.

Reimplemented in Compartment.

Definition at line 65 of file Component.h.

Referenced by Component::apply(), and Composite::apply().

§ apply_impl() [2/2]

virtual bool Component::apply_impl ( ReactionVisitor v)
inlinevirtualinherited

Applies ReactionBaseVisitor v to every ReactionBase* object directly owned by this node.

This method needs to be overriden by descendent classes that contain ReactionBase.

Reimplemented in Compartment.

Definition at line 74 of file Component.h.

§ arcFilamentProjection()

vector< vector< double > > Filament::arcFilamentProjection ( vector< vector< double >> &  v,
int  numBeads 
)

Projection function, returns a vector of coordinates for bead creation.

Definition at line 782 of file Filament.cpp.

References arcOutward(), and matrix_mul().

Referenced by Filament(), and getTurnoverTimes().

§ children() [1/3]

virtual vector<unique_ptr<Component> >& Composite::children ( )
inlinevirtualinherited

§ children() [2/3]

virtual const vector<unique_ptr<Component> >& Composite::children ( ) const
inlinevirtualinherited

Returns a const reference to the container of Component children of this node.

Definition at line 148 of file Composite.h.

References Composite::_children.

§ children() [3/3]

virtual Component* Composite::children ( size_t  i)
inlinevirtualinherited

Returns a pointer to the i-th Component child of this node.

Definition at line 151 of file Composite.h.

§ countDescendents()

virtual size_t Composite::countDescendents ( ) const
inlineoverridevirtualinherited

Return the total number of nodes contained under this node's hieararchy.

Note
This is a recursive call, and all nodes under this node are visited.

Reimplemented from Component.

Definition at line 110 of file Composite.h.

References Composite::children(), Composite::numberOfChildren(), and std::sum().

§ countReactions()

virtual size_t Composite::countReactions ( ) const
inlineoverridevirtualinherited

Returns the number of ReactionBase objects being managed by this node and its descendent nodes.

Reimplemented from Component.

Definition at line 135 of file Composite.h.

References Composite::children(), Component::isReactionsContainer(), Composite::numberOfReactions(), and std::sum().

§ countSpecies() [1/2]

virtual size_t Composite::countSpecies ( ) const
inlineoverridevirtualinherited

Returns the number of Species being managed by this node and its descendent nodes.

Reimplemented from Component.

Definition at line 120 of file Composite.h.

References Composite::children(), Component::isSpeciesContainer(), Composite::numberOfSpecies(), and std::sum().

Referenced by getTurnoverTimes(), and Chemistry::print().

§ countSpecies() [2/2]

species_copy_t Filament::countSpecies ( short  filamentType,
const string &  name 
)
static

Count the number of filament species with a given name in the system.

Definition at line 861 of file Filament.cpp.

References _filaments, Database< T >::getElements(), and SpeciesNamesDB::removeUniqueFilName().

§ depolymerizeMinusEnd()

void Filament::depolymerizeMinusEnd ( )

Same as depolymerization front, but moves the back bead forward one monomer length.

Updates cylinder parameters accordingly.

Definition at line 423 of file Filament.cpp.

References _cylinderVector, _filType, Bead::coordinate, SysParams::Geometry(), MCylinder::getEqLength(), Cylinder::getFirstBead(), Cylinder::getMCylinder(), Cylinder::getSecondBead(), Bead::lfim, GeoParams::monomerSize, mathfunc::nextPointProjection(), MCylinder::setEqLength(), and mathfunc::twoPointDirection().

Referenced by Filament().

§ depolymerizePlusEnd()

void Filament::depolymerizePlusEnd ( )

Depolymerization of a filament front, which moves the leading bead back one monomer length.

Updates cylinder parameters accordingly.

Definition at line 393 of file Filament.cpp.

References _cylinderVector, _filType, Bead::coordinate, SysParams::Geometry(), MCylinder::getEqLength(), Cylinder::getFirstBead(), Cylinder::getMCylinder(), Cylinder::getSecondBead(), Bead::lfip, GeoParams::monomerSize, mathfunc::nextPointProjection(), MCylinder::setEqLength(), and mathfunc::twoPointDirection().

Referenced by Filament().

§ extendMinusEnd() [1/2]

void Filament::extendMinusEnd ( short  minusEnd)

Same as extension front, but adds a new first cylinder with first bead = new bead and a second bead is equal to the first bead in the cylinder, which used to be first.

Parameters
minusEnd- the minus end species to be marked. Only if doing chemistry.

Definition at line 223 of file Filament.cpp.

References _cylinderVector, _deltaMinusEnd, _filType, _subSystem, SubSystem::addTrackable(), Bead::coordinate, SysParams::Geometry(), getCylinderVector(), Cylinder::getFirstBead(), Bead::getPosition(), Cylinder::getPosition(), Cylinder::getSecondBead(), Bead::lfim, Bead::loadForcesM, GeoParams::monomerSize, mathfunc::nextPointProjection(), CMonomer::speciesMinusEnd(), mathfunc::twoPointDirection(), and Species::up().

Referenced by Filament().

§ extendMinusEnd() [2/2]

§ extendPlusEnd() [1/2]

void Filament::extendPlusEnd ( short  plusEnd)

Addition of a new cylinder.

Next position is based on previous beads directions in the filament. This function creates a new bead. So, this function is mostly called during further extension, not initiation.

Parameters
plusEnd- the plus end species to be marked. Only if doing chemistry.

Definition at line 177 of file Filament.cpp.

References _cylinderVector, _deltaPlusEnd, _filType, _subSystem, SubSystem::addTrackable(), Bead::coordinate, SysParams::Geometry(), Cylinder::getFirstBead(), Bead::getPosition(), Cylinder::getPosition(), Cylinder::getSecondBead(), Bead::lfip, Bead::loadForcesP, GeoParams::monomerSize, mathfunc::nextPointProjection(), CMonomer::speciesPlusEnd(), mathfunc::twoPointDirection(), and Species::up().

Referenced by Filament().

§ extendPlusEnd() [2/2]

void Filament::extendPlusEnd ( vector< double > &  coordinates)

§ getCylinderVector()

deque<Cylinder*>& Filament::getCylinderVector ( )
inline

Get vector of cylinders that this filament contains.

Definition at line 150 of file Filament.h.

References _cylinderVector, and resetDeltaPlusEnd().

Referenced by extendMinusEnd(), and ChemManager::initializeCCylinder().

§ getDeltaMinusEnd()

short Filament::getDeltaMinusEnd ( )
inline

Get delta.

Definition at line 161 of file Filament.h.

References _deltaMinusEnd.

§ getDeltaPlusEnd()

short Filament::getDeltaPlusEnd ( )
inline

Get delta.

Definition at line 160 of file Filament.h.

Referenced by resetDeltaMinusEnd().

§ getFilaments()

§ getFullName()

virtual string Composite::getFullName ( ) const
inlineoverridevirtualinherited

Returns the full name of this node.

Reimplemented from Component.

Reimplemented in Compartment, and CompartmentGrid.

Definition at line 74 of file Composite.h.

§ getID()

int Filament::getID ( )
inline

Get ID.

Definition at line 165 of file Filament.h.

References _ID.

§ getMinusEndCylinder()

§ getParent()

§ getPlusEndCylinder()

Cylinder* Filament::getPlusEndCylinder ( )
inline

Get end cylinder.

Definition at line 173 of file Filament.h.

References Database< T >::addElement(), and addToSubSystem().

Referenced by Controller::pinBoundaryFilaments(), and retractMinusEnd().

§ getRoot()

Composite * Component::getRoot ( )
inherited

Returns the root node of the hieararchy to which this node belongs to.

Definition at line 19 of file Component.cpp.

References Component::getParent(), Component::getRoot(), and Component::isRoot().

Referenced by Component::getRoot(), ReactionBase::getRoot(), Species::getRoot(), and Component::isRoot().

§ getTurnoverTimes()

§ getType()

int Filament::getType ( )
inlinevirtual

Get type.

Implements Component.

Definition at line 168 of file Filament.h.

References _filType, and getMinusEndCylinder().

Referenced by ChemManager::initializeCCylinder().

§ isComposite()

virtual bool Composite::isComposite ( ) const
inlineoverridevirtualinherited

Returns true.

Reimplemented from Component.

Definition at line 71 of file Composite.h.

§ isConsistent()

bool Filament::isConsistent ( )

Check the consistency of the filament.

For now, Mainly involves checking chemistry of the constituent cylinders.

Definition at line 821 of file Filament.cpp.

References _cylinderVector.

Referenced by getTurnoverTimes().

§ isReactionsContainer()

virtual bool Component::isReactionsContainer ( ) const
inlinevirtualinherited

Returns true if this node contains non-zero number of reactions (i.e.

ReactionBase pointers)

Reimplemented in Compartment.

Definition at line 102 of file Component.h.

Referenced by Composite::countReactions().

§ isRoot()

bool Component::isRoot ( ) const
inlineinherited

Returns true if this node is the root node.

A root node has no parent, and the corresponding getParent() call would return a nullptr.

Definition at line 85 of file Component.h.

References Component::getRoot().

Referenced by Component::getRoot().

§ isSpeciesContainer()

virtual bool Component::isSpeciesContainer ( ) const
inlinevirtualinherited

Returns true if this node contains non-zero number of Species.

Reimplemented in Compartment.

Definition at line 98 of file Component.h.

Referenced by Composite::countSpecies().

§ nextBeadProjection()

vector<double> Filament::nextBeadProjection ( Bead b,
double  d,
vector< double >  director 
)

Projection function, returns a vector of coordinates for bead creation.

Referenced by getTurnoverTimes().

§ nucleate()

void Filament::nucleate ( short  plusEnd,
short  filament,
short  minusEnd 
)

§ numberOfChildren()

virtual size_t Composite::numberOfChildren ( ) const
inlineoverridevirtualinherited

Returns the number of immediate children of this node.

Note
Species and reactions and not included in this tally

Reimplemented from Component.

Definition at line 102 of file Composite.h.

References Composite::children().

Referenced by Composite::countDescendents(), and CompartmentGrid::printSelf().

§ numberOfReactions()

virtual size_t Composite::numberOfReactions ( ) const
inlineoverridevirtualinherited

Returns the number of ReactionBase objets being immediately managed by this node (i.e.

not counting reactions belonging to children nodes, etc.

Reimplemented from Component.

Reimplemented in Compartment.

Definition at line 131 of file Composite.h.

Referenced by Composite::countReactions().

§ numberOfSpecies()

virtual size_t Composite::numberOfSpecies ( ) const
inlineoverridevirtualinherited

Returns the number of Species being immediately managed by this node (i.e.

not counting Species belonging to children nodes, etc.)

Reimplemented from Component.

Reimplemented in Compartment.

Definition at line 106 of file Composite.h.

Referenced by Composite::countSpecies().

§ numFilaments()

static int Filament::numFilaments ( )
inlinestatic

Get the number of filaments in this system.

Definition at line 187 of file Filament.h.

References Database< T >::countElements().

Referenced by BasicSnapshot::print(), BirthTimes::print(), Forces::print(), Tensions::print(), WallTensions::print(), and Types::print().

§ polymerizeMinusEnd()

void Filament::polymerizeMinusEnd ( )

Same as Polymerization front, but moves the back bead one monomer length, and updates cylinder parameters accordingly.

Definition at line 364 of file Filament.cpp.

References _cylinderVector, _filType, Bead::coordinate, SysParams::Geometry(), MCylinder::getEqLength(), Cylinder::getFirstBead(), Cylinder::getMCylinder(), Cylinder::getSecondBead(), Bead::lfim, GeoParams::monomerSize, mathfunc::nextPointProjection(), MCylinder::setEqLength(), and mathfunc::twoPointDirection().

Referenced by Filament().

§ polymerizePlusEnd()

void Filament::polymerizePlusEnd ( )

Polymerization of a filament front, which moves the leading bead one monomer length.

Updates cylinder parameters accordingly.

Definition at line 335 of file Filament.cpp.

References _cylinderVector, _filType, Bead::coordinate, SysParams::Geometry(), MCylinder::getEqLength(), Cylinder::getFirstBead(), Cylinder::getMCylinder(), Cylinder::getSecondBead(), Bead::lfip, GeoParams::monomerSize, mathfunc::nextPointProjection(), MCylinder::setEqLength(), and mathfunc::twoPointDirection().

Referenced by Filament().

§ predefinedFilamentProjection()

vector< vector< double > > Filament::predefinedFilamentProjection ( vector< vector< double >> &  v,
int  numBeads 
)

Projection function, returns a vector of coordinates for bead creation.

Definition at line 799 of file Filament.cpp.

Referenced by Filament(), and getTurnoverTimes().

§ printSelf()

void Filament::printSelf ( )
virtual

Prints information about this node. Useful for debugging.

Implements Component.

Definition at line 803 of file Filament.cpp.

References _cylinderVector, _filType, and _ID.

Referenced by getTurnoverTimes(), and FilamentFF::whoIsCulprit().

§ removeChild()

virtual void Composite::removeChild ( Component child)
inlinevirtualinherited

Remove *child from this node's children.

The child's destructor will be called and the memory will be freed.

Definition at line 89 of file Composite.h.

Referenced by retractMinusEnd(), and retractPlusEnd().

§ removeFromSubSystem()

virtual void Filament::removeFromSubSystem ( )
inlinevirtual

SubSystem management, inherited from Trackable.

Implements Trackable.

Definition at line 179 of file Filament.h.

References Database< T >::removeElement().

§ resetDeltaMinusEnd()

void Filament::resetDeltaMinusEnd ( )
inline

Reset delta.

Definition at line 155 of file Filament.h.

References _deltaPlusEnd, and getDeltaPlusEnd().

§ resetDeltaPlusEnd()

void Filament::resetDeltaPlusEnd ( )
inline

Reset delta.

Definition at line 154 of file Filament.h.

Referenced by getCylinderVector().

§ retractMinusEnd()

void Filament::retractMinusEnd ( )

Retraction of back of a cylinder.

Removes a cylinder and bead from back of filament.

If filament has turned over, mark as such

Definition at line 299 of file Filament.cpp.

References _cylinderVector, _deltaMinusEnd, _plusEndPosition, _subSystem, _turnoverTime, Cylinder::getFirstBead(), getMinusEndCylinder(), getPlusEndCylinder(), Bead::getPosition(), Cylinder::getSecondBead(), Bead::lfim, Bead::loadForcesM, Composite::removeChild(), SubSystem::removeTrackable(), and tau().

Referenced by Filament().

§ retractPlusEnd()

void Filament::retractPlusEnd ( )

Retraction of front of a cylinder.

Removes one cylinder and one bead from the front of filament.

Definition at line 270 of file Filament.cpp.

References _cylinderVector, _deltaPlusEnd, _subSystem, Cylinder::getSecondBead(), Bead::lfip, Bead::loadForcesP, Composite::removeChild(), and SubSystem::removeTrackable().

Referenced by Filament().

§ setParent()

void Component::setParent ( Composite other)
inlineinherited

Sets the parent of this node to other.

Definition at line 81 of file Component.h.

§ sever()

Filament * Filament::sever ( int  cylinderPosition)

Sever a filament at a given cylinder position.

The back part of the filament will remain as this (original) filament, and the new filament, which is the front part of the originally severed filament, will be returned.

copy bead at severing point, attach to new filament

Definition at line 478 of file Filament.cpp.

References _cylinderVector, _filType, _subSystem, CMonomer::activeSpeciesFilament(), CMonomer::activeSpeciesMinusEnd(), Composite::addChild(), SubSystem::addTrackable(), SysParams::Chemistry(), Bead::coordinate, Species::down(), SysParams::Geometry(), CCylinder::getCMonomer(), CCylinder::getSize(), GeoParams::monomerSize, Rand::randDouble(), Rand::randInteger(), CCylinder::removeCrossCylinderReactions(), CMonomer::speciesBound(), CMonomer::speciesFilament(), CMonomer::speciesMinusEnd(), CMonomer::speciesPlusEnd(), and Species::up().

Referenced by Filament().

§ straightFilamentProjection()

vector< vector< double > > Filament::straightFilamentProjection ( vector< vector< double >> &  v,
int  numBeads 
)

Projection function, returns a vector of coordinates for bead creation.

Definition at line 575 of file Filament.cpp.

References _filType, GeoParams::cylinderSize, SysParams::Geometry(), tau(), and mathfunc::twoPointDistance().

Referenced by Filament(), and getTurnoverTimes().

§ zigZagFilamentProjection()

vector< vector< double > > Filament::zigZagFilamentProjection ( vector< vector< double >> &  v,
int  numBeads 
)

Projection function, returns a vector of coordinates for bead creation.

Definition at line 596 of file Filament.cpp.

References _filType, GeoParams::cylinderSize, SysParams::Geometry(), tau(), and mathfunc::twoPointDistance().

Referenced by Filament(), and getTurnoverTimes().

Friends And Related Function Documentation

§ Controller

friend class Controller
friend

Definition at line 48 of file Filament.h.

Member Data Documentation

§ _cylinderVector

deque<Cylinder*> Filament::_cylinderVector
private

Deque of cylinders.

Note
- the "front" of this deck is the minus end of the filament.

Definition at line 53 of file Filament.h.

Referenced by depolymerizeMinusEnd(), depolymerizePlusEnd(), extendMinusEnd(), extendPlusEnd(), Filament(), getCylinderVector(), isConsistent(), nucleate(), polymerizeMinusEnd(), polymerizePlusEnd(), printSelf(), retractMinusEnd(), retractPlusEnd(), sever(), and ~Filament().

§ _deltaMinusEnd

short Filament::_deltaMinusEnd = 0
private

Change in filament's cylinders at minus end since last snapshot.

Definition at line 63 of file Filament.h.

Referenced by extendMinusEnd(), getDeltaMinusEnd(), and retractMinusEnd().

§ _deltaPlusEnd

short Filament::_deltaPlusEnd = 0
private

Change in filament's cylinders at plus end since last snapshot.

Definition at line 61 of file Filament.h.

Referenced by extendPlusEnd(), resetDeltaMinusEnd(), and retractPlusEnd().

§ _dneighbor

bool Trackable::_dneighbor
protectedinherited

Object type.

Definition at line 54 of file Trackable.h.

§ _filaments

Database< Filament * > Filament::_filaments
staticprivate

Collection in SubSystem.

Definition at line 69 of file Filament.h.

Referenced by countSpecies(), and Filament().

§ _filType

§ _ID

int Filament::_ID
private

Unique integer id of this filament.

Definition at line 59 of file Filament.h.

Referenced by Filament(), getID(), and printSelf().

§ _movable

bool Trackable::_movable
protectedinherited

Object type.

Definition at line 52 of file Trackable.h.

§ _neighbor

bool Trackable::_neighbor
protectedinherited

Object type.

Definition at line 55 of file Trackable.h.

§ _plusEndPosition

int Filament::_plusEndPosition = 0
private

Position of plus end bead at last turnover.

Definition at line 66 of file Filament.h.

Referenced by Filament(), and retractMinusEnd().

§ _reactable

bool Trackable::_reactable
protectedinherited

Object type.

Definition at line 53 of file Trackable.h.

§ _subSystem

SubSystem* Filament::_subSystem
private

§ _turnoverTime

double Filament::_turnoverTime = 0
private

Time since last turnover.

Definition at line 67 of file Filament.h.

Referenced by retractMinusEnd().

§ _turnoverTimes

Histogram * Filament::_turnoverTimes
staticprivate

Histogram data.

Definition at line 73 of file Filament.h.

Referenced by getTurnoverTimes().


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