COPASI API  4.16.103
COscillationTask.h
Go to the documentation of this file.
1 // Begin CVS Header
2 // $Source: /Volumes/Home/Users/shoops/cvs/copasi_dev/copasi/oscillation/COscillationTask.h,v $
3 // $Revision: 1.3 $
4 // $Name: $
5 // $Author: shoops $
6 // $Date: 2011/03/07 19:32:04 $
7 // End CVS Header
8 
9 // Copyright (C) 2011 - 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 /**
20  * COscillationTask class.
21  *
22  * This class implements an oscillation detection task
23  */
24 
25 #ifndef COPASI_COscillationTask
26 #define COPASI_COscillationTask
27 
28 #include "utilities/CCopasiTask.h"
29 
31 class COscillationMethod;
32 class CReport;
33 
35 {
36  //Attributes
37 
38 public:
39  /**
40  * The methods which can be selected for preforming this task.
41  */
42  static unsigned C_INT32 ValidMethods[];
43 
44  /**
45  * default constructor
46  * @param const CCopasiTask::Type & type (default: optimization)
47  * @param const CCopasiContainer * pParent (default: NULL)
48  */
49  //COscillationTask(const CCopasiTask::Type & type = CCopasiTask::oscillation,
50  // const CCopasiContainer * pParent = NULL);
51  COscillationTask(const CCopasiTask::Type & type ,
52  const CCopasiContainer * pParent);
53 
54  /**
55  * Copy constructor
56  * @param const COscillationTask & src
57  */
58  COscillationTask(const COscillationTask & src, const CCopasiContainer * pParent = NULL);
59 
60  /**
61  * Destructor
62  */
64 
65  /**
66  * cleanup()
67  */
68  void cleanup();
69 
70  /**
71  * Set the call back of the task
72  * @param CProcessReport * pCallBack
73  * @result bool succes
74  */
75  virtual bool setCallBack(CProcessReport * pCallBack);
76 
77  /**
78  * Initialize the task. If an ostream is given this ostream is used
79  * instead of the target specified in the report. This allows nested
80  * tasks to share the same output device.
81  * @param const OutputFlag & of
82  * @param COutputHandler * pOutputHandler
83  * @param std::ostream * pOstream (default: NULL)
84  * @return bool success
85  */
86  virtual bool initialize(const OutputFlag & of,
87  COutputHandler * pOutputHandler,
88  std::ostream * pOstream);
89 
90  /**
91  * Process the task with or without initializing to the initial state.
92  * @param const bool & useInitialValues
93  * @return bool success
94  */
95  virtual bool process(const bool & useInitialValues);
96 
97  /**
98  * Set the method type applied to solve the task
99  * @param const CCopasiMethod::SubType & type
100  * @return bool success
101  */
102  virtual bool setMethodType(const int & type);
103 
104  /**
105  * Create a method of the specified type to solve the task.
106  * It is the duty of the caller to release the CCopasiMethod.
107  * @param const CCopasiMethod::SubType & type
108  * @return CCopasiMethod *
109  */
110  virtual CCopasiMethod * createMethod(const int & type) const;
111 };
112 #endif // COPASI_COscillationTask
static unsigned C_INT32 ValidMethods[]
virtual bool setCallBack(CProcessReport *pCallBack)
virtual bool setMethodType(const int &type)
virtual bool initialize(const OutputFlag &of, COutputHandler *pOutputHandler, std::ostream *pOstream)
#define C_INT32
Definition: copasi.h:90
COscillationTask(const CCopasiTask::Type &type, const CCopasiContainer *pParent)
virtual bool process(const bool &useInitialValues)
virtual CCopasiMethod * createMethod(const int &type) const