COPASI API  4.16.103
Public Member Functions | Private Member Functions | Friends | List of all members
CHybridNextReactionLSODAMethod Class Reference

#include <CHybridNextReactionLSODAMethod.h>

Inheritance diagram for CHybridNextReactionLSODAMethod:
Inheritance graph
[legend]
Collaboration diagram for CHybridNextReactionLSODAMethod:
Collaboration graph
[legend]

Public Member Functions

C_FLOAT64 doSingleStep (C_FLOAT64 time, C_FLOAT64 endTime)
 
- Public Member Functions inherited from CHybridMethodLSODA
 CHybridMethodLSODA (const CHybridMethodLSODA &src, const CCopasiContainer *pParent=NULL)
 
virtual bool elevateChildren ()
 
virtual bool isValidProblem (const CCopasiProblem *pProblem)
 
virtual void start (const CState *initialState)
 
virtual Status step (const double &deltaT)
 
 ~CHybridMethodLSODA ()
 
- Public Member Functions inherited from CTrajectoryMethod
 CTrajectoryMethod (const CTrajectoryMethod &src, const CCopasiContainer *pParent=NULL)
 
const CVector< C_INT > & getRoots () const
 
void setCurrentState (CState *currentState)
 
void setProblem (CTrajectoryProblem *problem)
 
virtual void stateChanged ()
 
 ~CTrajectoryMethod ()
 
- Public Member Functions inherited from CCopasiMethod
 CCopasiMethod (const CCopasiMethod &src, const CCopasiContainer *pParent=NULL)
 
const CCopasiMethod::SubTypegetSubType () const
 
const CCopasiTask::TypegetType () const
 
virtual void load (CReadConfig &configBuffer, CReadConfig::Mode mode=CReadConfig::SEARCH)
 
virtual void print (std::ostream *ostream) const
 
virtual void printResult (std::ostream *ostream) const
 
virtual bool setCallBack (CProcessReport *pCallBack)
 
virtual ~CCopasiMethod ()
 
- Public Member Functions inherited from CCopasiParameterGroup
bool addGroup (const std::string &name)
 
bool addParameter (const CCopasiParameter &parameter)
 
bool addParameter (const std::string &name, const CCopasiParameter::Type type)
 
template<class CType >
bool addParameter (const std::string &name, const CCopasiParameter::Type type, const CType &value)
 
void addParameter (CCopasiParameter *pParameter)
 
CCopasiParameterGroupassertGroup (const std::string &name)
 
template<class CType >
CCopasiParameterassertParameter (const std::string &name, const CCopasiParameter::Type type, const CType &defaultValue)
 
index_iterator beginIndex () const
 
name_iterator beginName () const
 
 CCopasiParameterGroup (const CCopasiParameterGroup &src, const CCopasiContainer *pParent=NULL)
 
 CCopasiParameterGroup (const std::string &name, const CCopasiContainer *pParent=NULL, const std::string &objectType="ParameterGroup")
 
void clear ()
 
index_iterator endIndex () const
 
name_iterator endName () const
 
CCopasiParameterGroupgetGroup (const std::string &name)
 
const CCopasiParameterGroupgetGroup (const std::string &name) const
 
CCopasiParameterGroupgetGroup (const size_t &index)
 
const CCopasiParameterGroupgetGroup (const size_t &index) const
 
size_t getIndex (const std::string &name) const
 
std::string getKey (const std::string &name) const
 
std::string getKey (const size_t &index) const
 
virtual const std::string & getName (const size_t &index) const
 
virtual const CObjectInterfacegetObject (const CCopasiObjectName &cn) const
 
CCopasiParametergetParameter (const std::string &name)
 
const CCopasiParametergetParameter (const std::string &name) const
 
CCopasiParametergetParameter (const size_t &index)
 
const CCopasiParametergetParameter (const size_t &index) const
 
CCopasiParameter::Type getType (const std::string &name) const
 
CCopasiParameter::Type getType (const size_t &index) const
 
std::string getUniqueParameterName (const CCopasiParameter *pParameter) const
 
const CCopasiParameter::ValuegetValue (const std::string &name) const
 
const CCopasiParameter::ValuegetValue (const size_t &index) const
 
CCopasiParameter::ValuegetValue (const std::string &name)
 
CCopasiParameter::ValuegetValue (const size_t &index)
 
CCopasiParameterGroupoperator= (const CCopasiParameterGroup &rhs)
 
bool removeParameter (const std::string &name)
 
bool removeParameter (const size_t &index)
 
template<class CType >
bool setValue (const std::string &name, const CType &value)
 
template<class CType >
bool setValue (const size_t &index, const CType &value)
 
size_t size () const
 
bool swap (const size_t &iFrom, const size_t &iTo)
 
bool swap (index_iterator &from, index_iterator &to)
 
virtual ~CCopasiParameterGroup ()
 
- Public Member Functions inherited from CCopasiParameter
 CCopasiParameter (const CCopasiParameter &src, const CCopasiContainer *pParent=NULL)
 
 CCopasiParameter (const std::string &name, const Type &type, const void *pValue=NULL, const CCopasiContainer *pParent=NULL, const std::string &objectType="Parameter")
 
virtual CCopasiObjectName getCN () const
 
virtual const std::string & getKey () const
 
virtual std::string getObjectDisplayName (bool regular=true, bool richtext=false) const
 
const CCopasiParameter::TypegetType () const
 
const ValuegetValue () const
 
ValuegetValue ()
 
virtual voidgetValuePointer () const
 
CCopasiObjectgetValueReference () const
 
bool isValidValue (const C_FLOAT64 &value) const
 
bool isValidValue (const C_INT32 &value) const
 
bool isValidValue (const unsigned C_INT32 &value) const
 
bool isValidValue (const bool &value) const
 
bool isValidValue (const std::string &value) const
 
bool isValidValue (const CCopasiObjectName &value) const
 
bool isValidValue (const std::vector< CCopasiParameter * > &value) const
 
CCopasiParameteroperator= (const CCopasiParameter &rhs)
 
template<class CType >
bool setValue (const CType &value)
 
bool setValue (const std::vector< CCopasiParameter * > &value)
 
virtual ~CCopasiParameter ()
 
- Public Member Functions inherited from CCopasiContainer
virtual bool add (CCopasiObject *pObject, const bool &adopt=true)
 
 CCopasiContainer (const std::string &name, const CCopasiContainer *pParent=NULL, const std::string &type="CN", const unsigned C_INT32 &flag=CCopasiObject::Container)
 
 CCopasiContainer (const CCopasiContainer &src, const CCopasiContainer *pParent=NULL)
 
virtual std::string getChildObjectUnits (const CCopasiObject *pObject) const
 
virtual const objectMapgetObjects () const
 
virtual std::string getUnits () const
 
virtual const CCopasiObjectgetValueObject () const
 
virtual bool remove (CCopasiObject *pObject)
 
virtual ~CCopasiContainer ()
 
- Public Member Functions inherited from CCopasiObject
void addDirectDependency (const CCopasiObject *pObject)
 
 CCopasiObject (const CCopasiObject &src, const CCopasiContainer *pParent=NULL)
 
void clearDirectDependencies ()
 
void clearRefresh ()
 
bool dependsOn (DataObjectSet candidates, const DataObjectSet &context=DataObjectSet()) const
 
void getAllDependencies (DataObjectSet &dependencies, const DataObjectSet &context) const
 
virtual const DataObjectSetgetDirectDependencies (const DataObjectSet &context=DataObjectSet()) const
 
CCopasiContainergetObjectAncestor (const std::string &type) const
 
CCopasiDataModelgetObjectDataModel ()
 
const CCopasiDataModelgetObjectDataModel () const
 
const std::string & getObjectName () const
 
CCopasiContainergetObjectParent () const
 
const std::string & getObjectType () const
 
virtual const
CObjectInterface::ObjectSet
getPrerequisites () const
 
virtual RefreshgetRefresh () const
 
UpdateMethodgetUpdateMethod () const
 
bool hasCircularDependencies (DataObjectSet &candidates, DataObjectSet &verified, const DataObjectSet &context) const
 
bool hasUpdateMethod () const
 
bool isArray () const
 
bool isContainer () const
 
bool isDataModel () const
 
bool isMatrix () const
 
bool isNameVector () const
 
bool isNonUniqueName () const
 
virtual bool isPrerequisiteForContext (const CObjectInterface *pObject, const CMath::SimulationContextFlag &context, const CObjectInterface::ObjectSet &changedObjects) const
 
bool isReference () const
 
bool isRoot () const
 
bool isSeparator () const
 
bool isStaticString () const
 
bool isValueBool () const
 
bool isValueDbl () const
 
bool isValueInt () const
 
bool isValueInt64 () const
 
bool isValueString () const
 
bool isVector () const
 
virtual bool mustBeDeleted (const DataObjectSet &deletedObjects) const
 
void removeDirectDependency (const CCopasiObject *pObject)
 
void setDirectDependencies (const DataObjectSet &directDependencies)
 
bool setObjectName (const std::string &name)
 
virtual bool setObjectParent (const CCopasiContainer *pParent)
 
void setObjectValue (const C_FLOAT64 &value)
 
void setObjectValue (const C_INT32 &value)
 
void setObjectValue (const bool &value)
 
template<class CType >
void setRefresh (CType *pType, void(CType::*method)(void))
 
template<class CType >
void setUpdateMethod (CType *pType, void(CType::*method)(const C_FLOAT64 &))
 
template<class CType >
void setUpdateMethod (CType *pType, void(CType::*method)(const C_INT32 &))
 
template<class CType >
void setUpdateMethod (CType *pType, void(CType::*method)(const bool &))
 
virtual ~CCopasiObject ()
 
- Public Member Functions inherited from CObjectInterface
 CObjectInterface ()
 
virtual ~CObjectInterface ()
 

Private Member Functions

 CHybridNextReactionLSODAMethod (const CCopasiContainer *pParent=NULL)
 

Friends

CHybridMethodLSODACHybridMethodLSODA::createHybridMethodLSODA ()
 

Additional Inherited Members

- Public Types inherited from CTrajectoryMethod
enum  Status { FAILURE = -1, NORMAL = 0, ROOT = 1 }
 
- Public Types inherited from CCopasiMethod
enum  SubType {
  unset = 0, RandomSearch, RandomSearchMaster, SimulatedAnnealing,
  CoranaWalk, DifferentialEvolution, ScatterSearch, GeneticAlgorithm,
  EvolutionaryProgram, SteepestDescent, HybridGASA, GeneticAlgorithmSR,
  HookeJeeves, LevenbergMarquardt, NelderMead, SRES,
  Statistics, ParticleSwarm, Praxis, TruncatedNewton,
  Newton, deterministic, LSODAR, directMethod,
  stochastic, tauLeap, adaptiveSA, hybrid,
  hybridLSODA, hybridODE45, DsaLsodar, tssILDM,
  tssILDMModified, tssCSP, mcaMethodReder, scanMethod,
  lyapWolf, sensMethod, EFMAlgorithm, EFMBitPatternTreeAlgorithm,
  EFMBitPatternAlgorithm, Householder, crossSectionMethod, linearNoiseApproximation
}
 
- Public Types inherited from CCopasiParameterGroup
typedef parameterGroup::iterator index_iterator
 
typedef
CCopasiContainer::objectMap::iterator 
name_iterator
 
typedef std::vector
< CCopasiParameter * > 
parameterGroup
 
- Public Types inherited from CCopasiParameter
enum  Type {
  DOUBLE = 0, UDOUBLE, INT, UINT,
  BOOL, GROUP, STRING, CN,
  KEY, FILE, EXPRESSION, INVALID
}
 
- Public Types inherited from CCopasiContainer
typedef std::multimap
< std::string, CCopasiObject * > 
objectMap
 
- Public Types inherited from CCopasiObject
typedef std::set< const
CCopasiObject * > 
DataObjectSet
 
typedef std::vector< Refresh * > DataUpdateSequence
 
- Public Types inherited from CObjectInterface
typedef std::set< const
CObjectInterface * > 
ObjectSet
 
typedef std::vector
< CObjectInterface * > 
UpdateSequence
 
- Static Public Member Functions inherited from CHybridMethodLSODA
static CHybridMethodLSODAcreateHybridMethodLSODA ()
 
- Static Public Member Functions inherited from CTrajectoryMethod
static CTrajectoryMethodcreateMethod (CCopasiMethod::SubType subType=CCopasiMethod::deterministic)
 
- Static Public Member Functions inherited from CCopasiObject
static std::vector< Refresh * > buildUpdateSequence (const DataObjectSet &objects, const DataObjectSet &uptoDateObjects, const DataObjectSet &context=DataObjectSet())
 
static void setRenameHandler (CRenameHandler *rh)
 
- Static Public Attributes inherited from CCopasiMethod
static const std::string SubTypeName []
 
static const char * XMLSubType []
 
- Static Public Attributes inherited from CCopasiParameter
static const std::string TypeName []
 
static const char * XMLType []
 
- Static Public Attributes inherited from CCopasiContainer
static const std::vector
< CCopasiContainer * > 
EmptyList
 
- Protected Types inherited from CHybridMethodLSODA
enum  metabStatus { LOW = 0, HIGH }
 
- Protected Types inherited from CCopasiObject
enum  Flag {
  Container = 0x1, Vector = 0x2, Matrix = 0x4, NameVector = 0x8,
  Reference = 0x10, ValueBool = 0x20, ValueInt = 0x40, ValueInt64 = 0x80,
  ValueDbl = 0x100, NonUniqueName = 0x200, StaticString = 0x400, ValueString = 0x800,
  Separator = 0x1000, ModelEntity = 0x2000, Array = 0x4000, DataModel = 0x8000,
  Root = 0x10000, Gui = 0x20000
}
 
- Protected Member Functions inherited from CHybridMethodLSODA
void calculateAmu (size_t rIndex)
 
void calculateDerivative (std::vector< C_FLOAT64 > &deriv)
 
 CHybridMethodLSODA (const CCopasiContainer *pParent=NULL)
 
void cleanup ()
 
void evalF (const C_FLOAT64 *t, const C_FLOAT64 *y, C_FLOAT64 *ydot)
 
void fireReaction (size_t rIndex)
 
C_FLOAT64 generateReactionTime (size_t rIndex)
 
std::set< std::string > * getAffects (size_t rIndex)
 
C_FLOAT64 getDefaultAtol (const CModel *pModel) const
 
std::set< std::string > * getDependsOn (size_t rIndex)
 
std::set< size_t > * getParticipatesIn (size_t rIndex)
 
void getState (std::vector< C_FLOAT64 > &target)
 
void getStochTimeAndIndex (C_FLOAT64 &ds, size_t &rIndex)
 
void initMethod (C_FLOAT64 time)
 
void insertDeterministicReaction (size_t rIndex)
 
void integrateDeterministicPart (C_FLOAT64 ds)
 
void outputData (std::ostream &os, C_INT32 mode)
 
void outputDebug (std::ostream &os, size_t level)
 
void partitionSystem ()
 
void removeDeterministicReaction (size_t rIndex)
 
void setState (std::vector< C_FLOAT64 > &source)
 
void setupBalances ()
 
void setupDependencyGraph ()
 
void setupMetab2React ()
 
void setupMetab2ReactComplete ()
 
void setupMetab2ReactPlusModifier ()
 
void setupPartition ()
 
void setupPriorityQueue (C_FLOAT64 startTime=0.0)
 
void updatePriorityQueue (size_t rIndex, C_FLOAT64 time)
 
void updateTauMu (size_t rIndex, C_FLOAT64 time)
 
- Protected Member Functions inherited from CTrajectoryMethod
 CTrajectoryMethod (const CCopasiMethod::SubType &subType, const CCopasiContainer *pParent=NULL)
 
- Protected Member Functions inherited from CCopasiMethod
 CCopasiMethod (const CCopasiTask::Type &taskType, const SubType &subType, const CCopasiContainer *pParent=NULL)
 
- Protected Member Functions inherited from CCopasiParameterGroup
 CCopasiParameterGroup ()
 
- Protected Member Functions inherited from CCopasiContainer
template<class CType >
CCopasiObjectaddMatrixReference (const std::string &name, CType &reference, const unsigned C_INT32 &flag=0)
 
template<class CType >
CCopasiObjectaddObjectReference (const std::string &name, CType &reference, const unsigned C_INT32 &flag=0)
 
template<class CType >
CCopasiObjectaddVectorReference (const std::string &name, CType &reference, const unsigned C_INT32 &flag=0)
 
void initObjects ()
 
- Protected Member Functions inherited from CCopasiObject
 CCopasiObject ()
 
 CCopasiObject (const std::string &name, const CCopasiContainer *pParent=NULL, const std::string &type="CN", const unsigned C_INT32 &flag=0)
 
- Static Protected Member Functions inherited from CHybridMethodLSODA
static C_INT32 checkModel (CModel *model)
 
static void EvalF (const C_INT *n, const C_FLOAT64 *t, const C_FLOAT64 *y, C_FLOAT64 *ydot)
 
static bool modelHasAssignments (const CModel *pModel)
 
- Protected Attributes inherited from CHybridMethodLSODA
std::vector< C_FLOAT64currentState
 
std::vector< C_FLOAT64mAmu
 
std::vector< C_FLOAT64mAmuOld
 
C_FLOAT64 mAtol
 
Data mData
 
bool mDefaultAtol
 
CDependencyGraph mDG
 
bool mDoCorrection
 
CVector< C_FLOAT64mDWork
 
C_FLOAT64 mEndt
 
std::ostringstream mErrorMsg
 
size_t mFirstMetabIndex
 
CHybridLSODAStochFlagmFirstReactionFlag
 
bool mHasAssignments
 
CVector< C_INTmIWork
 
C_INT mJType
 
std::vector< std::vector
< CHybridLSODABalance > > 
mLocalBalances
 
std::vector< std::vector
< CHybridLSODABalance > > 
mLocalSubstrates
 
C_FLOAT64 mLowerStochLimit
 
CLSODA mLSODA
 
C_INT mLsodaStatus
 
C_INT32 mMaxBalance
 
C_INT32 mMaxIntBeforeStep
 
unsigned C_INT32 mMaxSteps
 
bool mMaxStepsReached
 
std::vector< std::set< size_t > > mMetab2React
 
std::vector< metabStatusmMetabFlags
 
size_t mNumVariableMetabs
 
size_t mOutputCounter
 
std::ofstream mOutputFile
 
std::string mOutputFileName
 
unsigned C_INT32 mPartitioningInterval
 
CCopasiVector< CMetab > * mpMetabolites
 
CModelmpModel
 
CIndexedPriorityQueue mPQ
 
CRandommpRandomGenerator
 
const CCopasiVectorNS
< CReaction > * 
mpReactions
 
CStatempState
 
unsigned C_INT32 mRandomSeed
 
std::vector
< CHybridLSODAStochFlag
mReactionFlags
 
bool mReducedModel
 
bool mRestartLSODA
 
C_FLOAT64 mRtol
 
C_INT mState
 
unsigned C_INT32 mStepsAfterPartitionSystem
 
C_FLOAT64 mStepsize
 
CMatrix< C_FLOAT64mStoi
 
C_FLOAT64 mTime
 
std::set< size_t > mUpdateSet
 
C_FLOAT64 mUpperStochLimit
 
bool mUseRandomSeed
 
C_FLOAT64mY
 
CVector< C_FLOAT64mYdot
 
std::vector< C_FLOAT64temp
 
- Protected Attributes inherited from CTrajectoryMethod
CStatempCurrentState
 
CTrajectoryProblemmpProblem
 
CVector< C_INTmRoots
 
- Protected Attributes inherited from CCopasiMethod
CProcessReportmpCallBack
 
- Protected Attributes inherited from CCopasiParameter
std::string mKey
 
CCopasiObjectmpValueReference
 
size_t mSize
 
Value mValue
 
- Protected Attributes inherited from CCopasiContainer
objectMap mObjects
 
- Static Protected Attributes inherited from CCopasiObject
static CRenameHandlersmpRenameHandler = NULL
 

Detailed Description

CHybridNextReactionLSODAMethod

First approach to an hybrid algorithm. Gibson's Next Reaction method is combined with the LSODA numerical integrator.

File name: CHybridNextReactionLSODAMethod.h Author: Email:

Last change: 08, May 2006

(C) European Media Lab 2003.

Definition at line 37 of file CHybridNextReactionLSODAMethod.h.

Constructor & Destructor Documentation

CHybridNextReactionLSODAMethod::CHybridNextReactionLSODAMethod ( const CCopasiContainer pParent = NULL)
private

Default constructor

CHybridNextReactionLSODAMethod

First approach to an hybrid algorithm. Gibson's Next Reaction method is combined with the LSODA numerical integrator.

File name: CHybridNextReactionLSODAMethod.h Author: Email:

Last change: 08, May 2006

(C) European Media Lab 2003.

Definition at line 38 of file CHybridNextReactionLSODAMethod.cpp.

38  : CHybridMethodLSODA(pParent)
39 {}
CHybridMethodLSODA(const CHybridMethodLSODA &src, const CCopasiContainer *pParent=NULL)

Member Function Documentation

C_FLOAT64 CHybridNextReactionLSODAMethod::doSingleStep ( C_FLOAT64  currentTime,
C_FLOAT64  endTime 
)
virtual

Do one iteration of the simulation

Returns
Current simulation time or -1 in case of an error

Simulates the system over the next interval of time. The new time after this step is returned.

Parameters
currentTimeA C_FLOAT64 specifying the current time
endTimeA C_FLOAT64 specifying the endTime of the current step()
Returns
A C_FLOAT giving the new time

Implements CHybridMethodLSODA.

Definition at line 49 of file CHybridNextReactionLSODAMethod.cpp.

References C_FLOAT64, C_INVALID_INDEX, CHybridMethodLSODA::fireReaction(), CHybridMethodLSODA::getStochTimeAndIndex(), CHybridMethodLSODA::integrateDeterministicPart(), CHybridMethodLSODA::mFirstReactionFlag, CHybridMethodLSODA::mPartitioningInterval, CTrajectoryMethod::mpCurrentState, CHybridMethodLSODA::mPQ, CHybridMethodLSODA::mStepsAfterPartitionSystem, CHybridMethodLSODA::mStepsize, CHybridMethodLSODA::partitionSystem(), CState::setTime(), CIndexedPriorityQueue::size(), and CHybridMethodLSODA::updatePriorityQueue().

50 {
51  size_t rIndex = 0;
52  C_FLOAT64 ds = 0.0;
53 
54  // if there are stochastic reactions
55  if (mPQ.size() != 0) // there is at least one stochastic reaction
56  {
57  getStochTimeAndIndex(ds, rIndex);
58 
59  if (ds <= endTime) // ds is an absolute time value!
60  {
61  // if there are deterministic reactions
62  if (mFirstReactionFlag != NULL) // there is at least one deterministic reaction
63  {
64  integrateDeterministicPart(ds - currentTime);
65  }
66 
67  fireReaction(rIndex);
69 
71  {
74  }
75 
76  updatePriorityQueue(rIndex, ds);
77  }
78  else
79  {
80  ds = endTime;
81 
82  // if there are deterministic reactions
83  if (mFirstReactionFlag != NULL) // there is at least one deterministic reaction
84  {
85  integrateDeterministicPart(endTime - currentTime);
86  }
87 
89 
91  {
94  }
95 
97  }
98  }
99  else // there is no stochastic reaction
100  {
101  ds = currentTime + mStepsize;
102 
103  if (ds <= endTime)
104  {
105  // if there are deterministic reactions
106  if (mFirstReactionFlag != NULL) // there is at least one deterministic reaction
107  {
108  integrateDeterministicPart(mStepsize);
109  }
110 
111  mpCurrentState->setTime(ds);
112 
114  {
115  partitionSystem();
117  }
118 
120  }
121  else
122  {
123  ds = endTime;
124 
125  // if there are deterministic reactions
126  if (mFirstReactionFlag != NULL) // there is at least one deterministic reaction
127  {
128  integrateDeterministicPart(endTime - currentTime);
129  }
130 
131  mpCurrentState->setTime(ds);
132 
134  {
135  partitionSystem();
137  }
138 
140  }
141  }
142 
143  //deprecated: outputDebug(mOutputFile, 1); // DEBUG
144  //deprecated: outputData(mOutputFile, 1); // DEBUG
145  return ds;
146 }
void getStochTimeAndIndex(C_FLOAT64 &ds, size_t &rIndex)
unsigned C_INT32 mPartitioningInterval
CIndexedPriorityQueue mPQ
unsigned C_INT32 mStepsAfterPartitionSystem
#define C_INVALID_INDEX
Definition: copasi.h:222
void updatePriorityQueue(size_t rIndex, C_FLOAT64 time)
void setTime(const C_FLOAT64 &time)
Definition: CState.cpp:326
void integrateDeterministicPart(C_FLOAT64 ds)
#define C_FLOAT64
Definition: copasi.h:92
CHybridLSODAStochFlag * mFirstReactionFlag
void fireReaction(size_t rIndex)

Friends And Related Function Documentation


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