NFcore::Molecule Class Reference

#include <NFcore.hh>

List of all members.


Detailed Description

Each molecule in the system is represented by an instance of this.

The base unit of the NFsim program, this class maintains instances of individual objects that exist in the simulation. Molecules are able to interact with their MoleculeType so that they also 'know' about the reactions and observables they need to keep updated as they react and change states. There are also two static functions which are used to create and delete bonds (bind and unbind).

Author:
Michael Sneddon

Public Member Functions

 Molecule (MoleculeType *parentMoleculeType, int listId)
 ~Molecule ()
int getMolListId () const
string getMoleculeTypeName () const
MoleculeTypegetMoleculeType () const
int getUniqueID () const
bool isAlive () const
void setAlive (bool isAlive)
void setComplexID (int currentComplex)
int getComplexID () const
ComplexgetComplex () const
int getDegree ()
int getComponentState (int cIndex) const
int getComponentIndexOfBond (int cIndex) const
void setComponentState (int cIndex, int newValue)
void setComponentState (string cName, int newValue)
void setLocalFunctionValue (double newValue, int localFunctionIndex)
double getLocalFunctionValue (int localFunctionIndex)
LocalFunctiongetLocalFunction (int localFunctionIndex)
void setUpLocalFunctionList ()
bool isBindingSiteOpen (int bIndex) const
bool isBindingSiteBonded (int bIndex) const
MoleculegetBondedMolecule (int bSiteIndex) const
int getBondedMoleculeBindingSiteIndex (int cIndex) const
int getRxnListMappingId (int rxnIndex) const
void setRxnListMappingId (int rxnIndex, int rxnListMappingId)
void setBondTo (Molecule *m2, int bindingSiteIndex)
void moveToNewComplex (int newComplexID)
void traverseBondedNeighborhood (list< Molecule * > &members, int traversalLimit)
void depthFirstSearch (list< Molecule * > &members)
void prepareForSimulation ()
void updateRxnMembership ()
void removeFromObservables ()
void addToObservables ()
void updateTypeIIFunctions ()
void updateDORRxnValues ()
void printDetails ()
void printDetails (ostream &o)
int isObs (int oIndex) const
void setIsObs (int oIndex, int isObs)

Static Public Member Functions

static void bind (Molecule *m1, int cIndex1, Molecule *m2, int cIndex2)
static void bind (Molecule *m1, string compName1, Molecule *m2, string compName2)
static void unbind (Molecule *m1, int bSiteIndex)
static void unbind (Molecule *m1, char *bSiteName)
static void breadthFirstSearch (list< Molecule * > &members, Molecule *m, int depth)
static void printMoleculeList (list< Molecule * > &members)
static int getUniqueIdCount ()

Public Attributes

bool hasVisitedMolecule
bool * hasVisitedBond
TemplateMoleculeisMatchedTo
bool hasEvaluatedMolecule

Static Public Attributes

static const int NOT_IN_RXN = -1
static const int NOSTATE = -1
static const int NOBOND = 0
static const int NOINDEX = -1

Protected Attributes

bool isPrepared
bool isAliveInSim
int ID_complex
int ID_type
int ID_unique
int listId
MoleculeTypeparentMoleculeType
bool useComplex
int * component
int numOfComponents
Molecule ** bond
int * indexOfBond
double * localFunctionValues
int * isObservable
int * rxnListMappingId
int nReactions

Static Protected Attributes

static int uniqueIdCount = 0

Constructor & Destructor Documentation

Molecule::Molecule ( MoleculeType parentMoleculeType,
int  listId 
)

Molecule::~Molecule (  ) 


Member Function Documentation

int NFcore::Molecule::getMolListId (  )  const [inline]

string NFcore::Molecule::getMoleculeTypeName (  )  const [inline]

MoleculeType* NFcore::Molecule::getMoleculeType (  )  const [inline]

int NFcore::Molecule::getUniqueID (  )  const [inline]

bool NFcore::Molecule::isAlive (  )  const [inline]

void NFcore::Molecule::setAlive ( bool  isAlive  )  [inline]

void NFcore::Molecule::setComplexID ( int  currentComplex  )  [inline]

int NFcore::Molecule::getComplexID (  )  const [inline]

Complex* NFcore::Molecule::getComplex (  )  const [inline]

int Molecule::getDegree (  ) 

int NFcore::Molecule::getComponentState ( int  cIndex  )  const [inline]

int NFcore::Molecule::getComponentIndexOfBond ( int  cIndex  )  const [inline]

void Molecule::setComponentState ( int  cIndex,
int  newValue 
)

void Molecule::setComponentState ( string  cName,
int  newValue 
)

void Molecule::setLocalFunctionValue ( double  newValue,
int  localFunctionIndex 
)

double Molecule::getLocalFunctionValue ( int  localFunctionIndex  ) 

LocalFunction * Molecule::getLocalFunction ( int  localFunctionIndex  ) 

void Molecule::setUpLocalFunctionList (  ) 

bool Molecule::isBindingSiteOpen ( int  bIndex  )  const

bool Molecule::isBindingSiteBonded ( int  bIndex  )  const

Molecule * Molecule::getBondedMolecule ( int  bSiteIndex  )  const

int Molecule::getBondedMoleculeBindingSiteIndex ( int  cIndex  )  const

int NFcore::Molecule::getRxnListMappingId ( int  rxnIndex  )  const [inline]

void NFcore::Molecule::setRxnListMappingId ( int  rxnIndex,
int  rxnListMappingId 
) [inline]

void NFcore::Molecule::setBondTo ( Molecule m2,
int  bindingSiteIndex 
)

void NFcore::Molecule::moveToNewComplex ( int  newComplexID  )  [inline]

void Molecule::bind ( Molecule m1,
int  cIndex1,
Molecule m2,
int  cIndex2 
) [static]

void Molecule::bind ( Molecule m1,
string  compName1,
Molecule m2,
string  compName2 
) [static]

void Molecule::unbind ( Molecule m1,
int  bSiteIndex 
) [static]

void Molecule::unbind ( Molecule m1,
char *  bSiteName 
) [static]

void Molecule::traverseBondedNeighborhood ( list< Molecule * > &  members,
int  traversalLimit 
)

void Molecule::breadthFirstSearch ( list< Molecule * > &  members,
Molecule m,
int  depth 
) [static]

void Molecule::depthFirstSearch ( list< Molecule * > &  members  ) 

void Molecule::prepareForSimulation (  ) 

void Molecule::updateRxnMembership (  ) 

void Molecule::removeFromObservables (  ) 

void Molecule::addToObservables (  ) 

void Molecule::updateTypeIIFunctions (  ) 

void Molecule::updateDORRxnValues (  ) 

void Molecule::printDetails (  ) 

void Molecule::printDetails ( ostream &  o  ) 

void Molecule::printMoleculeList ( list< Molecule * > &  members  )  [static]

static int NFcore::Molecule::getUniqueIdCount (  )  [inline, static]

int NFcore::Molecule::isObs ( int  oIndex  )  const [inline]

void NFcore::Molecule::setIsObs ( int  oIndex,
int  isObs 
) [inline]


Member Data Documentation

const int NFcore::Molecule::NOT_IN_RXN = -1 [static]

bool NFcore::Molecule::hasVisitedMolecule

bool* NFcore::Molecule::hasVisitedBond

TemplateMolecule* NFcore::Molecule::isMatchedTo

bool NFcore::Molecule::hasEvaluatedMolecule

const int NFcore::Molecule::NOSTATE = -1 [static]

const int NFcore::Molecule::NOBOND = 0 [static]

const int NFcore::Molecule::NOINDEX = -1 [static]

bool NFcore::Molecule::isPrepared [protected]

bool NFcore::Molecule::isAliveInSim [protected]

int NFcore::Molecule::ID_complex [protected]

int NFcore::Molecule::ID_type [protected]

int NFcore::Molecule::ID_unique [protected]

int NFcore::Molecule::listId [protected]

int Molecule::uniqueIdCount = 0 [static, protected]

MoleculeType* NFcore::Molecule::parentMoleculeType [protected]

bool NFcore::Molecule::useComplex [protected]

int* NFcore::Molecule::component [protected]

int NFcore::Molecule::numOfComponents [protected]

Molecule** NFcore::Molecule::bond [protected]

int* NFcore::Molecule::indexOfBond [protected]

double* NFcore::Molecule::localFunctionValues [protected]

int* NFcore::Molecule::isObservable [protected]

int* NFcore::Molecule::rxnListMappingId [protected]

int NFcore::Molecule::nReactions [protected]


The documentation for this class was generated from the following files:
Generated on Thu Dec 9 11:02:48 2010 for NFsim by  doxygen 1.5.4