COPASI API  4.16.103
CMathReaction.h
Go to the documentation of this file.
1 // Copyright (C) 2013 by Pedro Mendes, Virginia Tech Intellectual
2 // Properties, Inc., University of Heidelberg, and The University
3 // of Manchester.
4 // All rights reserved.
5 
6 #ifndef COPASI_CMathReaction
7 #define COPASI_CMathReaction
8 
9 #include <utility>
10 
13 
14 class CReaction;
15 class CMathObject;
16 class CMathContainer;
17 
19 {
20 public:
21  /**
22  * Constructor
23  */
24  CMathReaction();
25 
26  /**
27  * Destructor
28  */
30 
31  /**
32  * Initialize the reaction from the model reaction in the given container context
33  * @param const CReaction * pReaction
34  * @param CMathContainer & container
35  */
36  void initialize(const CReaction * pReaction, CMathContainer & container);
37 
38  /**
39  * Copy an existing object
40  * @param const CMathReaction & src
41  * @param CMathContainer & container
42  * @param const size_t & valueOffset
43  * @param const size_t & objectOffset
44  */
45  void copy(const CMathReaction & src, CMathContainer & container, const size_t & valueOffset, const size_t & objectOffset);
46 
47  /**
48  * Fire the reaction count times. Note count must not necessarily be an integer
49  * @param const C_FLOAT64 & count
50  */
51  void fire(const C_FLOAT64 & count);
52 
53  /**
54  * Retrieve a pointer to the mathematical object for the particle flux.
55  * @return const CMathObject * pParticleFluxObject
56  */
57  const CMathObject * getParticleFluxObject() const;
58 
59  /**
60  * Retrieve a pointer to the mathematical object for the flux.
61  * @return const CMathObject * pFluxObject
62  */
63  const CMathObject * getFluxObject() const;
64 
65  /**
66  * Retrieve a pointer to the mathematical object for the propensity.
67  * @return const CMathObject * pPropensityObject
68  */
69  const CMathObject * getPropensityObject() const;
70 
71  /**
72  * Retrieve the set of modified species
73  * @return const CObjectInterface::ObjectSet & modifiedSpecies
74  */
76 
77  /**
78  * Retrieve a pointer to the model reaction
79  * @return const CReaction * pModelReaction
80  */
81  const CReaction * getModelReaction() const;
82 
83 private:
84  /**
85  * A pointer to model reaction.
86  */
88 
89  /**
90  * A pointer to the mathematical particle flux.
91  */
93 
94  /**
95  * A pointer to the mathematical flux.
96  */
98 
99  /**
100  * A pointer to the mathematical propensity.
101  */
103 
104  /**
105  * The set of modified species
106  */
108 
109  /**
110  * Information for updating the species particle numbers when the
111  * reaction fires.
112  */
114 };
115 
116 #endif // COPASI_CMathReaction
CMathObject * mpParticleFlux
Definition: CMathReaction.h:92
const CReaction * getModelReaction() const
const CObjectInterface::ObjectSet & getModifiedSpecies() const
CMathObject * mpPropensity
CObjectInterface::ObjectSet mModifiedSpecies
const CMathObject * getFluxObject() const
CMathObject * mpFlux
Definition: CMathReaction.h:97
void copy(const CMathReaction &src, CMathContainer &container, const size_t &valueOffset, const size_t &objectOffset)
CVector< std::pair< C_FLOAT64, C_FLOAT64 * > > mStepUpdates
void fire(const C_FLOAT64 &count)
std::set< const CObjectInterface * > ObjectSet
const CMathObject * getPropensityObject() const
const CReaction * mpReaction
Definition: CMathReaction.h:87
#define C_FLOAT64
Definition: copasi.h:92
void initialize(const CReaction *pReaction, CMathContainer &container)
const CMathObject * getParticleFluxObject() const