COPASI API  4.16.103
CEFMMethod.h
Go to the documentation of this file.
1 // Copyright (C) 2010 - 2013 by Pedro Mendes, Virginia Tech Intellectual
2 // Properties, Inc., University of Heidelberg, and The University
3 // of Manchester.
4 // All rights reserved.
5 
6 // Copyright (C) 2008 - 2009 by Pedro Mendes, Virginia Tech Intellectual
7 // Properties, Inc., EML Research, gGmbH, University of Heidelberg,
8 // and The University of Manchester.
9 // All rights reserved.
10 
11 // Copyright (C) 2006 - 2007 by Pedro Mendes, Virginia Tech Intellectual
12 // Properties, Inc. and EML Research, gGmbH.
13 // All rights reserved.
14 
15 #ifndef COPASI_CEFMMethod
16 #define COPASI_CEFMMethod
17 
18 #include <string>
19 
21 
23 #include "utilities/CVector.h"
24 
25 class CEFMMethod : public CCopasiMethod
26 {
27  // Operations
28 private:
29  /**
30  * Default constructor.
31  */
32  CEFMMethod();
33 
34 protected:
35  /**
36  * Specific constructor
37  * @param const CCopasiTask::Type & type
38  * @param const CCopasiMethod::SubType & subType
39  * @param const CCopasiContainer * pParent (default: NULL)
40  */
41  CEFMMethod(const CCopasiTask::Type & taskType,
42  const SubType & subType,
43  const CCopasiContainer * pParent = NULL);
44 
45 public:
46  /**
47  * Create a EFM method.
48  * Note: the returned object has to be released after use with delete
49  */
52 
53  /**
54  * Copy constructor
55  * @param const CEFMMethod & src
56  * @param const CCopasiContainer * pParent (default: NULL)
57  */
58  CEFMMethod(const CEFMMethod & src,
59  const CCopasiContainer * pParent = NULL);
60 
61  /**
62  * Destructor
63  */
64  virtual ~CEFMMethod();
65 
66  /**
67  * Execute the optimization algorithm calling simulation routine
68  * when needed. It is noted that this procedure can give feedback
69  * of its progress by the callback function set with SetCallback.
70  * @ return success;
71  */
72  virtual bool calculate();
73 
74  /**
75  * Initialize arrays and pointer.
76  * @return bool success
77  */
78  virtual bool initialize();
79 
80  /**
81  * Check if the method is suitable for this problem
82  * @return bool suitability of the method
83  */
84  virtual bool isValidProblem(const CCopasiProblem * pProblem);
85 
86  // Attributes
87 protected:
88  /**
89  * The resulting elementary flux modes
90  */
91  std::vector< CFluxMode > *mpFluxModes;
92 
93  /**
94  * Reactions in the order used in the analysis
95  */
96  std::vector< const CReaction * > *mpReorderedReactions;
97 };
98 
99 #endif // COPASI_CEFMMethod
static CEFMMethod * createMethod(CCopasiMethod::SubType subType=CCopasiMethod::EFMAlgorithm)
Definition: CEFMMethod.cpp:47
std::vector< CFluxMode > * mpFluxModes
Definition: CEFMMethod.h:91
virtual bool initialize()
Definition: CEFMMethod.cpp:109
virtual ~CEFMMethod()
Definition: CEFMMethod.cpp:101
std::vector< const CReaction * > * mpReorderedReactions
Definition: CEFMMethod.h:96
virtual bool calculate()
Definition: CEFMMethod.cpp:104
virtual bool isValidProblem(const CCopasiProblem *pProblem)
Definition: CEFMMethod.cpp:136