COPASI API  4.16.103
CTSSAProblem.h
Go to the documentation of this file.
1 // Begin CVS Header
2 // $Source: /Volumes/Home/Users/shoops/cvs/copasi_dev/copasi/tssanalysis/CTSSAProblem.h,v $
3 // $Revision: 1.7 $
4 // $Name: $
5 // $Author: shoops $
6 // $Date: 2009/08/13 20:20:33 $
7 // End CVS Header
8 
9 // Copyright (C) 2008 by Pedro Mendes, Virginia Tech Intellectual
10 // Properties, Inc., EML Research, gGmbH, University of Heidelberg,
11 // and The University of Manchester.
12 // All rights reserved.
13 
14 // Copyright (C) 2001 - 2007 by Pedro Mendes, Virginia Tech Intellectual
15 // Properties, Inc. and EML Research, gGmbH.
16 // All rights reserved.
17 
18 /**
19  * CTSSAProblem class.
20  * This class describes the time scale separation analysis problem, i.e., it allows to specify
21  * for example initial conditions and number of steps.
22  *
23  */
24 
25 #ifndef COPASI_CTSSAProblem
26 #define COPASI_CTSSAProblem
27 
28 #include <string>
29 
31 
33 {
34  // Attributes
35 private:
36  /**
37  *
38  */
40 
41  /**
42  *
43  */
45 
46  /**
47  *
48  */
49  unsigned C_INT32 * mpStepNumber;
50 
51  /**
52  *
53  */
55 
56  /**
57  *
58  */
60 
61  /**
62  * Indicate whether the step number or step size was set last.
63  */
65 
66 public:
67  // Operations
68 
69  /**
70  * Default constructor.
71  * @param const CCopasiContainer * pParent (default: NULL)
72  */
73  CTSSAProblem(const CCopasiContainer * pParent = NULL);
74 
75  /**
76  * Copy constructor.
77  * @param const CTSSAProblem & src
78  * @paramconst CCopasiContainer * pParent (default: NULL)
79  */
80  CTSSAProblem(const CTSSAProblem & src,
81  const CCopasiContainer * pParent = NULL);
82 
83  /**
84  * Destructor.
85  */
86  ~CTSSAProblem();
87 
88  /**
89  * This methods must be called to elevate subgroups to
90  * derived objects. The default implementation does nothing.
91  * @return bool success
92  */
93  virtual bool elevateChildren();
94 
95  /**
96  * Set the number of time steps the method should integrate.
97  * @param "const unsigned C_INT32 &" stepNumber
98  * @parem bool success
99  */
100  void setStepNumber(const unsigned C_INT32 & stepNumber);
101 
102  /**
103  * Retrieve the number of time steps the method should integrate.
104  * @return "const unsigned C_INT32 &" stepNumber
105  */
106  const unsigned C_INT32 & getStepNumber() const;
107 
108  /**
109  * Set the size a integration step the method should do.
110  * @param "const C_FLOAT64 &" stepSize
111  * @parem bool success
112  */
113  void setStepSize(const C_FLOAT64 & stepSize);
114 
115  /**
116  * Retrieve the size a integration step the method should do.
117  * @return "const C_FLOAT64 &" stepSize
118  */
119  const C_FLOAT64 & getStepSize() const;
120 
121  /**
122  * Set the end time.
123  * @param "const C_FLOAT64 &" duration
124  * @parem bool success
125  */
126  void setDuration(const C_FLOAT64 & duration);
127 
128  /**
129  * Retrieve the end time.
130  * @return "const C_FLOAT64 &" duration
131  */
132  const C_FLOAT64 & getDuration() const;
133 
134  /**
135  * Set the end time.
136  * @param "const C_FLOAT64 &" endTime
137  */
138  void setOutputStartTime(const C_FLOAT64 & endTime);
139 
140  /**
141  * Retrieve the end time.
142  * @return "const C_FLOAT64 &" endTime
143  */
144  const C_FLOAT64 & getOutputStartTime() const;
145 
146  /**
147  *.
148  */
149  void setTimeSeriesRequested(bool flag);
150 
151  /**
152  *
153  */
154  bool timeSeriesRequested() const;
155 
156 private:
157  /**
158  * Intialize the method parameter
159  */
160  void initializeParameter();
161 
162  /**
163  * This function synchronizes step size and number
164  * @parem bool success
165  */
166  bool sync();
167 
168  void initObjects();
169 
170  void printResult(std::ostream * ostream) const;
171 };
172 
173 #endif // COPASI_CTSSAProblem
void setOutputStartTime(const C_FLOAT64 &endTime)
const C_FLOAT64 & getOutputStartTime() const
bool timeSeriesRequested() const
void setStepNumber(const unsigned C_INT32 &stepNumber)
unsigned C_INT32 * mpStepNumber
Definition: CTSSAProblem.h:49
#define C_INT32
Definition: copasi.h:90
void initObjects()
const C_FLOAT64 & getStepSize() const
const unsigned C_INT32 & getStepNumber() const
virtual bool elevateChildren()
C_FLOAT64 * mpStepSize
Definition: CTSSAProblem.h:44
long int flag
Definition: f2c.h:52
void setStepSize(const C_FLOAT64 &stepSize)
C_FLOAT64 * mpOutputStartTime
Definition: CTSSAProblem.h:59
CTSSAProblem(const CCopasiContainer *pParent=NULL)
void initializeParameter()
#define C_FLOAT64
Definition: copasi.h:92
bool * mpTimeSeriesRequested
Definition: CTSSAProblem.h:54
void setDuration(const C_FLOAT64 &duration)
void setTimeSeriesRequested(bool flag)
void printResult(std::ostream *ostream) const
C_FLOAT64 * mpDuration
Definition: CTSSAProblem.h:39
const C_FLOAT64 & getDuration() const
bool mStepNumberSetLast
Definition: CTSSAProblem.h:64