COPASI API  4.16.103
Public Member Functions | Private Attributes | Friends | List of all members
CMCAProblem Class Reference

#include <CMCAProblem.h>

Inheritance diagram for CMCAProblem:
Inheritance graph
Collaboration diagram for CMCAProblem:
Collaboration graph

Public Member Functions

 CMCAProblem (const CCopasiContainer *pParent=NULL)
 CMCAProblem (const CMCAProblem &src, const CCopasiContainer *pParent=NULL)
CSteadyStateTaskgetSubTask () const
bool isSteadyStateRequested () const
void load (CReadConfig &configBuffer, CReadConfig::Mode mode=CReadConfig::NEXT)
virtual void print (std::ostream *ostream) const
virtual void printResult (std::ostream *ostream) const
void setInitialState (const CState &initialState)
virtual bool setModel (CModel *pModel)
void setSteadyStateRequested (const bool &steadyStateRequested)
virtual ~CMCAProblem ()
- Public Member Functions inherited from CCopasiProblem
 CCopasiProblem (const CCopasiProblem &src, const CCopasiContainer *pParent=NULL)
CModelgetModel () const
const CCopasiTask::TypegetType () const
virtual bool initialize ()
virtual bool restore (const bool &updateModel)
virtual bool setCallBack (CProcessReport *pCallBack)
virtual ~CCopasiProblem ()
- Public Member Functions inherited from CCopasiParameterGroup
bool addGroup (const std::string &name)
bool addParameter (const CCopasiParameter &parameter)
bool addParameter (const std::string &name, const CCopasiParameter::Type type)
template<class CType >
bool addParameter (const std::string &name, const CCopasiParameter::Type type, const CType &value)
void addParameter (CCopasiParameter *pParameter)
CCopasiParameterGroupassertGroup (const std::string &name)
template<class CType >
CCopasiParameterassertParameter (const std::string &name, const CCopasiParameter::Type type, const CType &defaultValue)
index_iterator beginIndex () const
name_iterator beginName () const
 CCopasiParameterGroup (const CCopasiParameterGroup &src, const CCopasiContainer *pParent=NULL)
 CCopasiParameterGroup (const std::string &name, const CCopasiContainer *pParent=NULL, const std::string &objectType="ParameterGroup")
void clear ()
virtual bool elevateChildren ()
index_iterator endIndex () const
name_iterator endName () const
CCopasiParameterGroupgetGroup (const std::string &name)
const CCopasiParameterGroupgetGroup (const std::string &name) const
CCopasiParameterGroupgetGroup (const size_t &index)
const CCopasiParameterGroupgetGroup (const size_t &index) const
size_t getIndex (const std::string &name) const
std::string getKey (const std::string &name) const
std::string getKey (const size_t &index) const
virtual const std::string & getName (const size_t &index) const
virtual const CObjectInterfacegetObject (const CCopasiObjectName &cn) const
CCopasiParametergetParameter (const std::string &name)
const CCopasiParametergetParameter (const std::string &name) const
CCopasiParametergetParameter (const size_t &index)
const CCopasiParametergetParameter (const size_t &index) const
CCopasiParameter::Type getType (const std::string &name) const
CCopasiParameter::Type getType (const size_t &index) const
std::string getUniqueParameterName (const CCopasiParameter *pParameter) const
const CCopasiParameter::ValuegetValue (const std::string &name) const
const CCopasiParameter::ValuegetValue (const size_t &index) const
CCopasiParameter::ValuegetValue (const std::string &name)
CCopasiParameter::ValuegetValue (const size_t &index)
CCopasiParameterGroupoperator= (const CCopasiParameterGroup &rhs)
bool removeParameter (const std::string &name)
bool removeParameter (const size_t &index)
template<class CType >
bool setValue (const std::string &name, const CType &value)
template<class CType >
bool setValue (const size_t &index, const CType &value)
size_t size () const
bool swap (const size_t &iFrom, const size_t &iTo)
bool swap (index_iterator &from, index_iterator &to)
virtual ~CCopasiParameterGroup ()
- Public Member Functions inherited from CCopasiParameter
 CCopasiParameter (const CCopasiParameter &src, const CCopasiContainer *pParent=NULL)
 CCopasiParameter (const std::string &name, const Type &type, const void *pValue=NULL, const CCopasiContainer *pParent=NULL, const std::string &objectType="Parameter")
virtual CCopasiObjectName getCN () const
virtual const std::string & getKey () const
virtual std::string getObjectDisplayName (bool regular=true, bool richtext=false) const
const CCopasiParameter::TypegetType () const
const ValuegetValue () const
ValuegetValue ()
virtual voidgetValuePointer () const
CCopasiObjectgetValueReference () const
bool isValidValue (const C_FLOAT64 &value) const
bool isValidValue (const C_INT32 &value) const
bool isValidValue (const unsigned C_INT32 &value) const
bool isValidValue (const bool &value) const
bool isValidValue (const std::string &value) const
bool isValidValue (const CCopasiObjectName &value) const
bool isValidValue (const std::vector< CCopasiParameter * > &value) const
CCopasiParameteroperator= (const CCopasiParameter &rhs)
template<class CType >
bool setValue (const CType &value)
bool setValue (const std::vector< CCopasiParameter * > &value)
virtual ~CCopasiParameter ()
- Public Member Functions inherited from CCopasiContainer
virtual bool add (CCopasiObject *pObject, const bool &adopt=true)
 CCopasiContainer (const std::string &name, const CCopasiContainer *pParent=NULL, const std::string &type="CN", const unsigned C_INT32 &flag=CCopasiObject::Container)
 CCopasiContainer (const CCopasiContainer &src, const CCopasiContainer *pParent=NULL)
virtual std::string getChildObjectUnits (const CCopasiObject *pObject) const
virtual const objectMapgetObjects () const
virtual std::string getUnits () const
virtual const CCopasiObjectgetValueObject () const
virtual bool remove (CCopasiObject *pObject)
virtual ~CCopasiContainer ()
- Public Member Functions inherited from CCopasiObject
void addDirectDependency (const CCopasiObject *pObject)
 CCopasiObject (const CCopasiObject &src, const CCopasiContainer *pParent=NULL)
void clearDirectDependencies ()
void clearRefresh ()
bool dependsOn (DataObjectSet candidates, const DataObjectSet &context=DataObjectSet()) const
void getAllDependencies (DataObjectSet &dependencies, const DataObjectSet &context) const
virtual const DataObjectSetgetDirectDependencies (const DataObjectSet &context=DataObjectSet()) const
CCopasiContainergetObjectAncestor (const std::string &type) const
CCopasiDataModelgetObjectDataModel ()
const CCopasiDataModelgetObjectDataModel () const
const std::string & getObjectName () const
CCopasiContainergetObjectParent () const
const std::string & getObjectType () const
virtual const
getPrerequisites () const
virtual RefreshgetRefresh () const
UpdateMethodgetUpdateMethod () const
bool hasCircularDependencies (DataObjectSet &candidates, DataObjectSet &verified, const DataObjectSet &context) const
bool hasUpdateMethod () const
bool isArray () const
bool isContainer () const
bool isDataModel () const
bool isMatrix () const
bool isNameVector () const
bool isNonUniqueName () const
virtual bool isPrerequisiteForContext (const CObjectInterface *pObject, const CMath::SimulationContextFlag &context, const CObjectInterface::ObjectSet &changedObjects) const
bool isReference () const
bool isRoot () const
bool isSeparator () const
bool isStaticString () const
bool isValueBool () const
bool isValueDbl () const
bool isValueInt () const
bool isValueInt64 () const
bool isValueString () const
bool isVector () const
virtual bool mustBeDeleted (const DataObjectSet &deletedObjects) const
void removeDirectDependency (const CCopasiObject *pObject)
void setDirectDependencies (const DataObjectSet &directDependencies)
bool setObjectName (const std::string &name)
virtual bool setObjectParent (const CCopasiContainer *pParent)
void setObjectValue (const C_FLOAT64 &value)
void setObjectValue (const C_INT32 &value)
void setObjectValue (const bool &value)
template<class CType >
void setRefresh (CType *pType, void(CType::*method)(void))
template<class CType >
void setUpdateMethod (CType *pType, void(CType::*method)(const C_FLOAT64 &))
template<class CType >
void setUpdateMethod (CType *pType, void(CType::*method)(const C_INT32 &))
template<class CType >
void setUpdateMethod (CType *pType, void(CType::*method)(const bool &))
virtual ~CCopasiObject ()
- Public Member Functions inherited from CObjectInterface
 CObjectInterface ()
virtual ~CObjectInterface ()

Private Attributes

CState mInitialState


std::ostream & operator<< (std::ostream &os, const CMCAProblem &o)

Additional Inherited Members

- Public Types inherited from CCopasiParameterGroup
typedef parameterGroup::iterator index_iterator
typedef std::vector
< CCopasiParameter * > 
- Public Types inherited from CCopasiParameter
enum  Type {
- Public Types inherited from CCopasiContainer
typedef std::multimap
< std::string, CCopasiObject * > 
- Public Types inherited from CCopasiObject
typedef std::set< const
CCopasiObject * > 
typedef std::vector< Refresh * > DataUpdateSequence
- Public Types inherited from CObjectInterface
typedef std::set< const
CObjectInterface * > 
typedef std::vector
< CObjectInterface * > 
- Static Public Member Functions inherited from CCopasiObject
static std::vector< Refresh * > buildUpdateSequence (const DataObjectSet &objects, const DataObjectSet &uptoDateObjects, const DataObjectSet &context=DataObjectSet())
static void setRenameHandler (CRenameHandler *rh)
- Static Public Attributes inherited from CCopasiParameter
static const std::string TypeName []
static const char * XMLType []
- Static Public Attributes inherited from CCopasiContainer
static const std::vector
< CCopasiContainer * > 
- Protected Types inherited from CCopasiObject
enum  Flag {
  Container = 0x1, Vector = 0x2, Matrix = 0x4, NameVector = 0x8,
  Reference = 0x10, ValueBool = 0x20, ValueInt = 0x40, ValueInt64 = 0x80,
  ValueDbl = 0x100, NonUniqueName = 0x200, StaticString = 0x400, ValueString = 0x800,
  Separator = 0x1000, ModelEntity = 0x2000, Array = 0x4000, DataModel = 0x8000,
  Root = 0x10000, Gui = 0x20000
- Protected Member Functions inherited from CCopasiProblem
 CCopasiProblem (const CCopasiTask::Type &type, const CCopasiContainer *pParent=NULL)
- Protected Member Functions inherited from CCopasiParameterGroup
 CCopasiParameterGroup ()
- Protected Member Functions inherited from CCopasiContainer
template<class CType >
CCopasiObjectaddMatrixReference (const std::string &name, CType &reference, const unsigned C_INT32 &flag=0)
template<class CType >
CCopasiObjectaddObjectReference (const std::string &name, CType &reference, const unsigned C_INT32 &flag=0)
template<class CType >
CCopasiObjectaddVectorReference (const std::string &name, CType &reference, const unsigned C_INT32 &flag=0)
void initObjects ()
- Protected Member Functions inherited from CCopasiObject
 CCopasiObject ()
 CCopasiObject (const std::string &name, const CCopasiContainer *pParent=NULL, const std::string &type="CN", const unsigned C_INT32 &flag=0)
- Protected Attributes inherited from CCopasiProblem
- Protected Attributes inherited from CCopasiParameter
std::string mKey
size_t mSize
Value mValue
- Protected Attributes inherited from CCopasiContainer
objectMap mObjects
- Static Protected Attributes inherited from CCopasiObject
static CRenameHandlersmpRenameHandler = NULL

Detailed Description

Definition at line 32 of file CMCAProblem.h.

Constructor & Destructor Documentation

CMCAProblem::CMCAProblem ( const CCopasiContainer pParent = NULL)

Default constructor.

constCCopasiContainer * pParent (default: NULL)

CMCAProblem class. This class describes the metabolic control analysis problem, i.e., it allows to specify for example initial conditions.

Created for Copasi by Ralph Gauges 2004 Default constructor.

CModel *pModel

Definition at line 43 of file CMCAProblem.cpp.

References CCopasiParameterGroup::addParameter(), CONSTRUCTOR_TRACE, and CCopasiParameter::KEY.

43  :
46 {
47  // addParameter("SteadyStateRequested", CCopasiParameter::BOOL, true);
48  addParameter("Steady-State", CCopasiParameter::KEY, std::string(""));
50 }
bool addParameter(const CCopasiParameter &parameter)
CState mInitialState
Definition: CMCAProblem.h:39
Definition: copasi.h:202
CMCAProblem::CMCAProblem ( const CMCAProblem src,
const CCopasiContainer pParent = NULL 

Copy constructor.

const CMCAProblem &src CCopasiContainer * pParent (default: NULL)

Copy constructor.

const CMCAProblem &src

Definition at line 56 of file CMCAProblem.cpp.


57  :
58  CCopasiProblem(src, pParent)
Definition: copasi.h:202
CMCAProblem::~CMCAProblem ( )


Definition at line 64 of file CMCAProblem.cpp.


Definition: copasi.h:206

Member Function Documentation

CSteadyStateTask * CMCAProblem::getSubTask ( ) const

Retrieve the subtask return CSteadyStateTask * pSubTask;

Definition at line 149 of file CMCAProblem.cpp.

References CKeyFactory::get(), CCopasiRootContainer::getKeyFactory(), CCopasiObject::getObjectDataModel(), CCopasiDataModel::getTaskList(), CCopasiParameter::getValue(), and isSteadyStateRequested().

Referenced by CMCATask::initialize(), operator<<(), and CMCATask::printResult().

150 {
151  CSteadyStateTask * pSubTask = NULL;
154  {
155  pSubTask = dynamic_cast<CSteadyStateTask *>(CCopasiRootContainer::getKeyFactory()->get(* getValue("Steady-State").pKEY));
157  if (pSubTask == NULL)
158  {
159  const CCopasiDataModel * pDataModel = getObjectDataModel();
160  assert(pDataModel != NULL);
162  if (pDataModel && pDataModel->getTaskList())
163  {
164  pSubTask = dynamic_cast<CSteadyStateTask *>((*pDataModel->getTaskList())["Steady-State"]);
165  }
166  }
167  }
169  return pSubTask;
170 }
CCopasiDataModel * getObjectDataModel()
CCopasiObject * get(const std::string &key)
bool isSteadyStateRequested() const
const Value & getValue() const
CCopasiVectorN< CCopasiTask > * getTaskList()
static CKeyFactory * getKeyFactory()
bool CMCAProblem::isSteadyStateRequested ( ) const

Retrieve whether a steady state analysis is requested.

bool steadyStateRequested

Retrieve whether the steady state analysis is requested.

bool steadyStateRequested

Definition at line 146 of file CMCAProblem.cpp.

References CCopasiParameter::getValue().

Referenced by getSubTask(), CQMCAWidget::loadTask(), operator<<(), CMCATask::printResult(), and CQMCAWidget::saveTask().

147 {return (* getValue("Steady-State").pKEY != "");}
const Value & getValue() const
void CMCAProblem::load ( CReadConfig configBuffer,
CReadConfig::Mode  mode = CReadConfig::NEXT 

Load a trajectory problem

CReadConfig &configBuffer
"CReadConfig::Modemode (Default: CReadConfig::NEXT)

Load a mca problem

CReadConfig &configBuffer

Definition at line 81 of file CMCAProblem.cpp.

References CReadConfig::getVariable(), CReadConfig::getVersion(), CReadConfig::LOOP, and setSteadyStateRequested().

83 {
84  if (configBuffer.getVersion() < "4.0")
85  {
86  bool SteadyStateRequested;
87  configBuffer.getVariable("RepxSteadyStateAnalysis", "bool" ,
88  &SteadyStateRequested,
91  setSteadyStateRequested(SteadyStateRequested);
92  }
93 }
void setSteadyStateRequested(const bool &steadyStateRequested)
std::string getVersion()
Definition: CReadConfig.cpp:76
C_INT32 getVariable(const std::string &name, const std::string &type, void *pout, CReadConfig::Mode mode=CReadConfig::NEXT)
Definition: CReadConfig.cpp:81
void CMCAProblem::print ( std::ostream *  ostream) const

This is the output method for any object. It calls the insert operator<<

std::ostream* ostream

Reimplemented from CCopasiProblem.

Definition at line 215 of file CMCAProblem.cpp.

216 {*ostream << *this;}
void CMCAProblem::printResult ( std::ostream *  ostream) const

This is the output method for any result of a problem. The default implementation is provided with CCopasiProblem. Does only print "Not implmented." To overide this default behaviour one needs to reimplement the virtual printResult function.

std::ostream* ostream

Reimplemented from CCopasiProblem.

Definition at line 172 of file CMCAProblem.cpp.

References CCopasiObject::getObjectParent(), and CMCATask::printResult().

173 {
174  //this functionality is expected from the problem. However it is implemented in
175  //the task.
177  CMCATask* parent = dynamic_cast<CMCATask*>(getObjectParent());
179  if (!parent) return;
181  parent->printResult(ostream);
182 }
void printResult(std::ostream *ostream) const
Definition: CMCATask.cpp:201
CCopasiContainer * getObjectParent() const
void CMCAProblem::setInitialState ( const CState initialState)

Set the initial state of the problem.

constCState & InitialState

Set the initial state of the problem.

constCState & initialState

Definition at line 99 of file CMCAProblem.cpp.

References mInitialState.

100 {
101  mInitialState = initialState;
102 }
CState mInitialState
Definition: CMCAProblem.h:39
bool CMCAProblem::setModel ( CModel pModel)

Set the model of the problem

CModel* pModel
bool succes

Set the model the problem is dealing with.

CModel *pModel

Reimplemented from CCopasiProblem.

Definition at line 71 of file CMCAProblem.cpp.

References CCopasiProblem::mpModel.

72 {
73  mpModel = pModel;
74  return true;
75 }
CModel * mpModel
void CMCAProblem::setSteadyStateRequested ( const bool &  steadyStateRequested)

Retrieve the initial state of the problem.

"const CState &" pInitialState Set whether the steady state analysis is requested.
constbool & steadyStateRequested

Set whether the steady state analysis is requested.

bool* steadyStateRequested

Definition at line 127 of file CMCAProblem.cpp.

References CCopasiTask::getKey(), CCopasiObject::getObjectDataModel(), CCopasiDataModel::getTaskList(), and CCopasiParameterGroup::setValue().

Referenced by load(), and CQMCAWidget::saveTask().

128 {
129  CSteadyStateTask * pSubTask = NULL;
130  CCopasiDataModel* pDataModel = getObjectDataModel();
131  assert(pDataModel != NULL);
133  if (pDataModel && pDataModel->getTaskList())
134  pSubTask = dynamic_cast<CSteadyStateTask *>((*pDataModel->getTaskList())["Steady-State"]);
136  if (steadyStateRequested && pSubTask)
137  setValue("Steady-State", pSubTask->getKey());
138  else
139  setValue("Steady-State", std::string(""));
140 }
CCopasiDataModel * getObjectDataModel()
CCopasiVectorN< CCopasiTask > * getTaskList()
bool setValue(const std::string &name, const CType &value)
virtual const std::string & getKey() const

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const CMCAProblem o 

Output stream operator. Prints description of the problem incl. the subtask

ostream& os
constCMCAProblem & A
ostream & os

Definition at line 185 of file CMCAProblem.cpp.

186 {
187  os << "Problem Description:" << std::endl;
189  //os << "Subtask: " << std::endl;
191  if (o.isSteadyStateRequested())
192  {
193  os << "Calculation of a steady state is requested before the MCA." << std::endl << std::endl;
195  if (o.getSubTask())
196  {
197  //os << "" << std::endl;
198  o.getSubTask()->getDescription().print(&os);
199  }
200  else
201  {
202  os << "However an error occurred. Please report this as a bug." << std::endl;
203  }
204  }
205  else
206  {
207  os << "MCA is performed on the current state (which is not necessarily a steady state)." << std::endl;
208  }
210  os << std::endl;
212  return os;
213 }
bool isSteadyStateRequested() const
const CDescription & getDescription() const
CSteadyStateTask * getSubTask() const
virtual void print(std::ostream *ostream) const

Member Data Documentation

CState CMCAProblem::mInitialState

The initial state, i.e., the starting conditions of the trajectroy.

Definition at line 39 of file CMCAProblem.h.

Referenced by setInitialState().

The documentation for this class was generated from the following files: