COPASI API  4.16.103
COscillationProblem.h
Go to the documentation of this file.
1 // Begin CVS Header
2 // $Source: /Volumes/Home/Users/shoops/cvs/copasi_dev/copasi/oscillation/COscillationProblem.h,v $
3 // $Revision: 1.1 $
4 // $Name: $
5 // $Author: ssahle $
6 // $Date: 2008/11/11 16:47:54 $
7 // End CVS Header
8 // Copyright (C) 2008 by Pedro Mendes, Virginia Tech Intellectual
9 // Properties, Inc., EML Research, gGmbH, University of Heidelberg,
10 // and The University of Manchester.
11 // All rights reserved.
12 
13 #ifndef COSCPROBLEM_H
14 #define COSCPROBLEM_H
15 
17 
19  {
20  public:
21 
22  /**
23  * Default constructor
24  * @param const CCopasiTask::Type & type (default: optimization)
25  * @param const CCopasiContainer * pParent (default: NULL)
26  */
27  COscillationProblem(const CCopasiTask::Type & type = CCopasiTask::oscillation,
28  const CCopasiContainer * pParent = NULL);
29 
30  /**
31  * Copy constructor.
32  * @param const COscillationProblem & src
33  * @param const CCopasiContainer * pParent (default: NULL)
34  */
36  const CCopasiContainer * pParent = NULL);
37 
38  /**
39  * Destructor
40  */
41  virtual ~COscillationProblem();
42 
43  /**
44  * This methods must be called to elevate subgroups to
45  * derived objects. The default implementation does nothing.
46  * @return bool success
47  */
48  virtual bool elevateChildren();
49 
50  /**
51  * Set the model of the problem
52  * @param CModel * pModel
53  * @result bool success
54  */
55  virtual bool setModel(CModel * pModel);
56 
57  /**
58  * Set the call back of the problem
59  * @param CProcessReport * pCallBack
60  * @result bool success
61  */
62  virtual bool setCallBack(CProcessReport * pCallBack);
63 
64  /**
65  * Do all necessary initialization so that calls to calculate will
66  * be successful. This is called once from CCopasiTask::process()
67  * @result bool success
68  */
69  virtual bool initialize();
70 
71  /**
72  * This is the output method for any object. The default implementation
73  * provided with CCopasiObject uses the ostream operator<< of the object
74  * to print the object.To override this default behavior one needs to
75  * reimplement the virtual print function.
76  * @param std::ostream * ostream
77  */
78  virtual void print(std::ostream * ostream) const;
79 
80  /**
81  * Output stream operator
82  * @param ostream & os
83  * @param const COscillationProblem & A
84  * @return ostream & os
85  */
86  friend std::ostream &operator<<(std::ostream &os, const COscillationProblem & o);
87 
88  /**
89  * This is the output method for any result of a problem. The default implementation
90  * provided with CCopasiProblem. Does only print "Not implemented." To override this
91  * default behavior one needs to reimplement the virtual printResult function.
92  * @param std::ostream * ostream
93  */
94  virtual void printResult(std::ostream * ostream) const;
95 
96  private:
97  /**
98  * Allocates all group parameters and assures that they are
99  * properly initialized.
100  */
101  void initializeParameter();
102 
103  void initObjects();
104 
105  protected:
106  };
107 
108 #endif // the end
COscillationProblem(const CCopasiTask::Type &type=CCopasiTask::oscillation, const CCopasiContainer *pParent=NULL)
virtual bool elevateChildren()
virtual bool setModel(CModel *pModel)
virtual bool setCallBack(CProcessReport *pCallBack)
Definition: CModel.h:50
virtual void printResult(std::ostream *ostream) const
friend std::ostream & operator<<(std::ostream &os, const COscillationProblem &o)
virtual void print(std::ostream *ostream) const