roadrunner  2.6.0
Fast simulator for SBML models
rrSelectionRecord.h
1 #ifndef rrSelectionRecordH
2 #define rrSelectionRecordH
3 #include "rrExporter.h"
4 #include <ostream>
5 #include <string>
6 
7 
8 
9 namespace rr
10 {
11 using std::string;
12 using std::ostream;
13 
17 class RR_DECLSPEC SelectionRecord
18 {
19 public:
21  {
25  TIME = (0x1 << 0), // => 0x00000001,
26 
31  CONCENTRATION = (0x1 << 1),
32 
37  AMOUNT = (0x1 << 2),
38 
42  RATE = (0x1 << 3),
43 
48  BOUNDARY = (0x1 << 4),
53  FLOATING = (0x1 << 5),
54 
61  _COMPARTMENT = (0x1 << 6),
62 
69  _GLOBAL_PARAMETER = (0x1 << 7),
70 
74  REACTION = (0x1 << 8),
75 
80  INITIAL = (0x1 << 9),
81 
86  CURRENT = (0x1 << 10),
87 
91  UNSCALED = (0x1 << 11),
92 
96  ELASTICITY = (0x1 << 12),
97 
101  CONTROL = (0x1 << 13),
102 
106  EIGENVALUE_REAL = (0x1 << 14),
107 
111  ELEMENT = (0x1 << 15),
112 
116  STOICHIOMETRY = (0x1 << 16),
117 
121  UNKNOWN = (0x1 << 17),
122 
126  DEPENDENT = (0x1 << 18),
127 
131  INDEPENDENT = (0x1 << 19),
132 
136  CONSERVED_MOIETY = (0x1 << 20),
137 
141  STATE_VECTOR = (0x1 << 21),
142 
146  EVENT = (0x1 << 22),
147 
153  EIGENVALUE_IMAG = (0x1 << 23),
154 
158  ALL = (0xffffffff),
159 
163  EIGENVALUE_COMPLEX = EIGENVALUE_REAL | EIGENVALUE_IMAG,
164 
168  UNKNOWN_CONCENTRATION = UNKNOWN | CONCENTRATION,
169 
173  COMPARTMENT = _COMPARTMENT | INDEPENDENT | DEPENDENT | CURRENT,
174 
178  GLOBAL_PARAMETER = _GLOBAL_PARAMETER | INDEPENDENT | DEPENDENT | CURRENT,
179 
183  FLOATING_AMOUNT = FLOATING | AMOUNT | INDEPENDENT | DEPENDENT | CURRENT,
184 
188  INDEPENDENT_FLOATING_AMOUNT = FLOATING | AMOUNT | INDEPENDENT | CURRENT,
189 
193  DEPENDENT_FLOATING_AMOUNT = FLOATING | AMOUNT | DEPENDENT | CURRENT,
194 
198  FLOATING_CONCENTRATION = FLOATING | CONCENTRATION | INDEPENDENT | DEPENDENT | CURRENT,
199 
204  FLOATING_AMOUNT_RATE = FLOATING | RATE | DEPENDENT,
205 
210  FLOATING_CONCENTRATION_RATE = FLOATING | CONCENTRATION | RATE | DEPENDENT,
211 
212 
216  BOUNDARY_AMOUNT = BOUNDARY | AMOUNT | INDEPENDENT | DEPENDENT | CURRENT,
217 
221  INDEPENDENT_BOUNDARY_AMOUNT = BOUNDARY | AMOUNT | INDEPENDENT | CURRENT,
222 
226  DEPENDENT_BOUNDARY_AMOUNT = BOUNDARY | AMOUNT | DEPENDENT | CURRENT,
227 
231  BOUNDARY_CONCENTRATION = BOUNDARY | CONCENTRATION | INDEPENDENT | DEPENDENT | CURRENT,
232 
237  BOUNDARY_AMOUNT_RATE = BOUNDARY | RATE | DEPENDENT,
238 
243  BOUNDARY_CONCENTRATION_RATE = BOUNDARY | CONCENTRATION | RATE | DEPENDENT,
244 
245 
249  GLOBAL_PARAMETER_RATE = _GLOBAL_PARAMETER | RATE,
250 
254  REACTION_RATE = REACTION | RATE | DEPENDENT,
255 
259  COMPARTMENT_RATE = COMPARTMENT | RATE | DEPENDENT,
260 
264  INITIAL_AMOUNT = INITIAL | AMOUNT | INDEPENDENT | DEPENDENT,
265 
269  INITIAL_FLOATING_AMOUNT = INITIAL | FLOATING | AMOUNT | INDEPENDENT | DEPENDENT,
270 
274  INITIAL_BOUNDARY_AMOUNT = INITIAL | BOUNDARY | AMOUNT | INDEPENDENT | DEPENDENT,
275 
279  INITIAL_CONCENTRATION = INITIAL | CONCENTRATION | INDEPENDENT | DEPENDENT,
280 
284  INITIAL_FLOATING_CONCENTRATION = INITIAL | FLOATING | CONCENTRATION | INDEPENDENT | DEPENDENT,
285 
289  INITIAL_BOUNDARY_CONCENTRATION = INITIAL | BOUNDARY | CONCENTRATION | INDEPENDENT | DEPENDENT,
290 
294  INITIAL_COMPARTMENT = INITIAL | _COMPARTMENT | INDEPENDENT | DEPENDENT,
295 
299  INITIAL_GLOBAL_PARAMETER = INITIAL | _GLOBAL_PARAMETER | INDEPENDENT | DEPENDENT,
300 
304  DEPENDENT_INITIAL_GLOBAL_PARAMETER = INITIAL | _GLOBAL_PARAMETER | DEPENDENT,
305 
309  UNSCALED_ELASTICITY = UNSCALED | ELASTICITY,
310 
314  UNSCALED_CONTROL = UNSCALED | CONTROL,
315 
319  UNKNOWN_ELEMENT = UNKNOWN | ELEMENT,
320 
324  ALL_INDEPENDENT = ~DEPENDENT,
325 
329  ALL_DEPENDENT = ~INDEPENDENT,
330 
334  ALL_INDEPENDENT_AMOUNT = ~DEPENDENT & ~CONCENTRATION,
335 
339  ALL_DEPENDENT_AMOUNT = ~INDEPENDENT & ~CONCENTRATION,
340 
344  ALL_INDEPENDENT_CONCENTRATION = ~DEPENDENT & ~AMOUNT,
345 
349  ALL_DEPENDENT_CONCENTRATION = ~INDEPENDENT & ~AMOUNT,
350 
351 
361  MODEL_STATE = ALL_INDEPENDENT_AMOUNT & ~INITIAL,
362 
363 
370  SBML_INITIALIZE = STATE_VECTOR // the STATE_VECTOR options
371  // is used here because it is
372  // not used anywhere else in
373  // the reset options, and gives
374  // the indication that everything is set,
375  // mostly it saves a not wasting a bit value.
376  };
377 
382  int index;
383 
388  std::string p1;
389 
393  std::string p2;
394 
399 
406  SelectionRecord(const int& index = 0,
407  const SelectionType type = UNKNOWN,
408  const std::string& p1 = "", const std::string& p2 = "");
409 
413  SelectionRecord(const std::string str);
414 
419  std::string to_string() const;
420 
425  std::string to_repr() const;
426 };
427 
428 std::ostream& operator<< (std::ostream& stream, const SelectionRecord& rec);
429 
430 }
431 
432 
433 #endif
a way to find sbml model elements using the RoadRunner syntax.
Definition: rrSelectionRecord.h:18
std::string p1
For single argument selections, i.e.
Definition: rrSelectionRecord.h:388
int index
After the selection record is created by the roadrunner object, this is an index into the variables l...
Definition: rrSelectionRecord.h:382
SelectionType
Definition: rrSelectionRecord.h:21
std::string p2
the second argument of two arg selections.
Definition: rrSelectionRecord.h:393
SelectionType selectionType
the type of selection.
Definition: rrSelectionRecord.h:398