COPASI API  4.16.103
CTableauLine.h
Go to the documentation of this file.
1 /* Begin CVS Header
2  $Source: /Volumes/Home/Users/shoops/cvs/copasi_dev/copasi/elementaryFluxModes/CTableauLine.h,v $
3  $Revision: 1.12 $
4  $Name: $
5  $Author: heilmand $
6  $Date: 2010/08/02 15:12:05 $
7  End CVS Header */
8 
9 // Copyright (C) 2010 by Pedro Mendes, Virginia Tech Intellectual
10 // Properties, Inc., University of Heidelberg, and The University
11 // of Manchester.
12 // All rights reserved.
13 
14 // Copyright (C) 2008 by Pedro Mendes, Virginia Tech Intellectual
15 // Properties, Inc., EML Research, gGmbH, University of Heidelberg,
16 // and The University of Manchester.
17 // All rights reserved.
18 
19 // Copyright (C) 2001 - 2007 by Pedro Mendes, Virginia Tech Intellectual
20 // Properties, Inc. and EML Research, gGmbH.
21 // All rights reserved.
22 
23 /**
24  * CTableauLine class.
25  * This store one row of the Tableau Matrix
26  *
27  * Created for COPASI by Stefan Hoops 2002-05-08
28  * (C) Stefan Hoops 2002
29  */
30 
31 #ifndef COPASI_CTableauLine
32 #define COPASI_CTableauLine
33 
34 #include <vector>
36 
38 {
39  friend std::ostream & operator << (std::ostream &, const CTableauLine &);
40  // Attributes
41 
42 private:
43  /**
44  *
45  */
46  std::vector <C_FLOAT64> mReaction;
47 
48  /**
49  *
50  */
52 
53  /**
54  *
55  */
56  std::vector <C_FLOAT64> mFluxMode;
57 
58  /**
59  *
60  */
62 
63  // Operations
64 
65 public:
66  /**
67  * Default constructor
68  */
69  CTableauLine();
70 
71  /**
72  * Specific constructor
73  */
74  CTableauLine(const std::vector <C_FLOAT64> & reaction,
75  bool reversible,
76  const size_t & reactionCounter,
77  const size_t & reactionNumber);
78 
79  /**
80  * Specific constructor
81  */
83  const CTableauLine & src1,
84  C_FLOAT64 m2,
85  const CTableauLine & src2);
86 
87  /**
88  * Destructor
89  */
90  ~CTableauLine();
91 
92  /**
93  * Retrieves the flux score
94  */
95  const CFluxScore & getScore() const;
96 
97  /**
98  * Retrieve the multiplier for this reaction for the indexed species
99  * @param const size_t & index
100  * @return const C_FLOAT64 & multiplier
101  */
102  const C_FLOAT64 & getMultiplier(const size_t & index) const;
103 
104  /**
105  * Retrieves the flux mode
106  */
107  const std::vector < C_FLOAT64 > & getFluxMode() const;
108 
109  /**
110  * Checks whether the reaction is reversible
111  * @return "bool" isReversible
112  */
113  bool isReversible() const;
114 
115  /**
116  * Remove the first entry from the reaction vector
117  */
118  // void truncate();
119 
120 private:
121  /**
122  * Divides m1 and m2 by the largest common factor.
123  */
124  static void reduce(C_FLOAT64 & r1, C_FLOAT64 & r2);
125 };
126 
127 #endif // COPASI_CTableauLine
const CFluxScore & getScore() const
bool mReversible
Definition: CTableauLine.h:51
friend std::ostream & operator<<(std::ostream &, const CTableauLine &)
const std::vector< C_FLOAT64 > & getFluxMode() const
std::vector< C_FLOAT64 > mReaction
Definition: CTableauLine.h:46
static void reduce(C_FLOAT64 &r1, C_FLOAT64 &r2)
bool isReversible() const
const C_FLOAT64 & getMultiplier(const size_t &index) const
#define C_FLOAT64
Definition: copasi.h:92
CFluxScore * mpFluxScore
Definition: CTableauLine.h:61
std::vector< C_FLOAT64 > mFluxMode
Definition: CTableauLine.h:56