COPASI API  4.16.103
CStepMatrixColumn.h
Go to the documentation of this file.
1 // Begin CVS Header
2 // $Source: /Volumes/Home/Users/shoops/cvs/copasi_dev/copasi/elementaryFluxModes/CStepMatrixColumn.h,v $
3 // $Revision: 1.5 $
4 // $Name: $
5 // $Author: heilmand $
6 // $Date: 2010/08/02 15:12:41 $
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 #ifndef COPASI_CStepMatrixColumn
20 #define COPASI_CStepMatrixColumn
21 
22 #include <vector>
23 
25 
27 {
28 public:
29  friend std::ostream & operator << (std::ostream &, const CStepMatrixColumn &);
30 
31  // Operations
32 public:
33  CStepMatrixColumn(const size_t & size = 0);
34 
35  CStepMatrixColumn(const CZeroSet & set,
36  CStepMatrixColumn const * pPositive,
37  CStepMatrixColumn const * pNegative);
38 
40 
41  const CZeroSet & getZeroSet() const;
42 
43  void convert(const CZeroSet::CIndex & bit);
44 
45  inline void unsetBit(const CZeroSet::CIndex & index)
46  {
47  mZeroSet.unsetBit(index);
48  }
49 
50  inline const C_INT64 & getMultiplier() const
51  {
52  return mReaction.back();
53  }
54 
55  std::vector< C_INT64 > & getReaction();
56 
57  void getAllUnsetBitIndexes(CVector<size_t> & indexes) const;
58 
59  void push_front(const C_INT64 & value);
60 
61  void truncate();
62 
63  inline void setIterator(CStepMatrixColumn **it)
64  {
65  mIterator = it;
66  }
67 
68  // Attributes
69 private:
71 
72  std::vector< C_INT64 > mReaction;
73 
75 };
76 
77 std::ostream & operator << (std::ostream &, const CStepMatrixColumn &);
78 
79 #endif // COPASI_CStepMatrixColumn
void push_front(const C_INT64 &value)
const CZeroSet & getZeroSet() const
std::vector< C_INT64 > mReaction
friend std::ostream & operator<<(std::ostream &, const CStepMatrixColumn &)
#define C_INT64
Definition: copasi.h:88
std::ostream & operator<<(std::ostream &, const CStepMatrixColumn &)
void unsetBit(const CIndex &index)
Definition: CZeroSet.h:74
void convert(const CZeroSet::CIndex &bit)
void getAllUnsetBitIndexes(CVector< size_t > &indexes) const
CStepMatrixColumn ** mIterator
CStepMatrixColumn(const size_t &size=0)
const C_INT64 & getMultiplier() const
std::vector< C_INT64 > & getReaction()
void setIterator(CStepMatrixColumn **it)
void unsetBit(const CZeroSet::CIndex &index)