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

#include <CCopasiProblem.h>

Inheritance diagram for CCopasiProblem:
Inheritance graph
[legend]
Collaboration diagram for CCopasiProblem:
Collaboration graph
[legend]

Public Member Functions

 CCopasiProblem (const CCopasiProblem &src, const CCopasiContainer *pParent=NULL)
 
CModelgetModel () const
 
const CCopasiTask::TypegetType () const
 
virtual bool initialize ()
 
virtual void print (std::ostream *ostream) const
 
virtual void printResult (std::ostream *ostream) const
 
virtual bool restore (const bool &updateModel)
 
virtual bool setCallBack (CProcessReport *pCallBack)
 
virtual bool setModel (CModel *pModel)
 
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
CObjectInterface::ObjectSet
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 ()
 

Protected Member Functions

 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

CProcessReportmpCallBack
 
CModelmpModel
 
CReportmpReport
 
- Protected Attributes inherited from CCopasiParameter
std::string mKey
 
CCopasiObjectmpValueReference
 
size_t mSize
 
Value mValue
 
- Protected Attributes inherited from CCopasiContainer
objectMap mObjects
 

Private Member Functions

 CCopasiProblem ()
 

Private Attributes

CCopasiTask::Type mType
 

Friends

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

Additional Inherited Members

- Public Types inherited from CCopasiParameterGroup
typedef parameterGroup::iterator index_iterator
 
typedef
CCopasiContainer::objectMap::iterator 
name_iterator
 
typedef std::vector
< CCopasiParameter * > 
parameterGroup
 
- Public Types inherited from CCopasiParameter
enum  Type {
  DOUBLE = 0, UDOUBLE, INT, UINT,
  BOOL, GROUP, STRING, CN,
  KEY, FILE, EXPRESSION, INVALID
}
 
- Public Types inherited from CCopasiContainer
typedef std::multimap
< std::string, CCopasiObject * > 
objectMap
 
- Public Types inherited from CCopasiObject
typedef std::set< const
CCopasiObject * > 
DataObjectSet
 
typedef std::vector< Refresh * > DataUpdateSequence
 
- Public Types inherited from CObjectInterface
typedef std::set< const
CObjectInterface * > 
ObjectSet
 
typedef std::vector
< CObjectInterface * > 
UpdateSequence
 
- 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 * > 
EmptyList
 
- 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
}
 
- Static Protected Attributes inherited from CCopasiObject
static CRenameHandlersmpRenameHandler = NULL
 

Detailed Description

Definition at line 40 of file CCopasiProblem.h.

Constructor & Destructor Documentation

CCopasiProblem::CCopasiProblem ( )
private

Default constructor

CCopasiProblem class. This class is used to describe a task in COPASI. This class is intended to be used as the parent class for all tasks whithin COPASI.

Created for Copasi by Stefan Hoops 2003

Definition at line 34 of file CCopasiProblem.cpp.

34  :
35  CCopasiParameterGroup("NoName", NULL, "Problem"),
37  mpModel(NULL),
38  mpCallBack(NULL),
39  mpReport(NULL)
40 {}
CReport * mpReport
CCopasiTask::Type mType
CModel * mpModel
CProcessReport * mpCallBack
CCopasiProblem::CCopasiProblem ( const CCopasiTask::Type type,
const CCopasiContainer pParent = NULL 
)
protected

Specific constructor

Parameters
constCCopasiTask::Type & type
constCCopasiContainer * pParent (default: NULL)

Definition at line 42 of file CCopasiProblem.cpp.

43  :
44  CCopasiParameterGroup(CCopasiTask::TypeName[type], pParent, "Problem"),
45  mType(type),
46  mpModel(NULL),
47  mpCallBack(NULL),
48  mpReport(NULL)
49 {}
static const std::string TypeName[]
Definition: CCopasiTask.h:67
CReport * mpReport
CCopasiTask::Type mType
CModel * mpModel
CProcessReport * mpCallBack
CCopasiProblem::CCopasiProblem ( const CCopasiProblem src,
const CCopasiContainer pParent = NULL 
)

Copy constructor

Parameters
constCCopasiProblemr & src
constCCopasiContainer * pParent (default: NULL)

Definition at line 51 of file CCopasiProblem.cpp.

52  :
53  CCopasiParameterGroup(src, pParent),
54  mType(src.mType),
55  mpModel(src.mpModel),
57  mpReport(src.mpReport)
58 {}
CReport * mpReport
CCopasiTask::Type mType
CModel * mpModel
CProcessReport * mpCallBack
CCopasiProblem::~CCopasiProblem ( )
virtual

Destructor

Definition at line 60 of file CCopasiProblem.cpp.

60 {}

Member Function Documentation

CModel * CCopasiProblem::getModel ( ) const

Retrieve the model of the problem

Returns
CModel * pModel

Definition at line 70 of file CCopasiProblem.cpp.

References mpModel.

Referenced by CLyapWolfMethod::calculate(), COutputAssistant::createDefaultOutput(), CCrossSectionTask::createEvent(), CQTSSAResultSubWidget::displayResult(), CSensMethod::do_target_calculation(), CLyapWolfMethod::evalF(), CHybridMethodLSODA::evalF(), CCrossSectionTask::eventCallBack(), CCrossSectionTask::finish(), CEFMTask::getInternalSpecies(), CEFMTask::getNetReaction(), CEFMTask::getReactionEquation(), CQTSSAResultSubWidget::init(), CScanMethod::init(), CSSAMethod::initialize(), CLNATask::initialize(), CSensMethod::initialize(), CEFMAlgorithm::initialize(), CMCATask::initialize(), CBitPatternMethod::initialize(), CBitPatternTreeMethod::initialize(), CTrajectoryTask::initialize(), CTSSATask::initialize(), CNewtonMethod::initialize(), CSteadyStateTask::initialize(), CSteadyStateMethod::initialize(), CCrossSectionTask::initialize(), CCopasiTask::initialize(), CHybridMethodODE45::initMethod(), CHybridMethodLSODA::initMethod(), CHybridMethodLSODA::integrateDeterministicPart(), CTSSAMethod::integrationMethodStart(), CSteadyStateMethod::isEquilibrium(), CEFMMethod::isValidProblem(), CNewtonMethod::isValidProblem(), CLyapMethod::isValidProblem(), CTSSAMethod::isValidProblem(), CMCAMethod::isValidProblem(), CTauLeapMethod::isValidProblem(), CHybridMethod::isValidProblem(), CHybridMethodODE45::isValidProblem(), CCopasiMethod::isValidProblem(), CHybridMethodLSODA::isValidProblem(), CStochDirectMethod::isValidProblem(), CLNAMethod::isValidProblem(), CTrajAdaptiveSA::isValidProblem(), CStochMethod::isValidProblem(), CTrajectoryMethodDsaLsodar::isValidProblem(), operator<<(), CHybridMethodLSODA::partitionSystem(), CLNATask::printResult(), CMCATask::printResult(), CMoietiesMethod::process(), CSensTask::process(), CLNATask::process(), CScanTask::process(), CLyapTask::process(), CMCATask::process(), CTrajectoryTask::process(), CTSSATask::process(), CSteadyStateTask::process(), CCrossSectionTask::process(), CTrajectoryTask::processStart(), CTSSATask::processStart(), CCrossSectionTask::processStart(), CTrajectoryTask::processStep(), CTSSATask::processStep(), CCrossSectionTask::processStep(), CCrossSectionTask::removeEvent(), CMoietiesTask::restore(), CLyapTask::restore(), CTrajectoryTask::restore(), CTSSATask::restore(), CSteadyStateTask::restore(), CCrossSectionTask::restore(), CCopasiTask::restore(), CSteadyStateTask::setInitialState(), CQEFMSpeciesDM::setTask(), CQSteadyStateResult::slotUpdateModel(), CTauLeapMethod::start(), CHybridMethod::start(), CHybridMethodLSODA::start(), CStochDirectMethod::start(), CHybridMethodODE45::start(), CLyapWolfMethod::start(), CTrajAdaptiveSA::start(), CStochMethod::start(), CLsodaMethod::start(), CTauLeapMethod::step(), CHybridMethod::step(), CHybridMethodLSODA::step(), CStochDirectMethod::step(), CTrajAdaptiveSA::step(), CStochMethod::step(), CSensTask::updateMatrices(), CLNATask::updateMatrices(), CMCATask::updateMatrices(), CTSSATask::updateMatrices(), and CSteadyStateTask::updateMatrices().

70 {return mpModel;}
CModel * mpModel
const CCopasiTask::Type & CCopasiProblem::getType ( void  ) const

Retrieve the type of the problem

Returns
const string & type

Definition at line 62 of file CCopasiProblem.cpp.

References mType.

Referenced by COutputAssistant::getDefaultPlotIndex(), COutputAssistant::getDefaultReportIndex(), and COptProblem::setSubtaskType().

62 {return mType;}
CCopasiTask::Type mType
bool CCopasiProblem::initialize ( )
virtual

Sets the initial value (in case this applies to the specific problem) Do all neccessary initialization so that calls to caluclate will be successful. This is called once from CCopasiTask::process()

Returns
bool succes

Reimplemented in COptProblem, CEFMProblem, CFitProblem, CSteadyStateProblem, and COscillationProblem.

Definition at line 80 of file CCopasiProblem.cpp.

Referenced by CEFMProblem::initialize().

80 {return true;}
void CCopasiProblem::print ( std::ostream *  ostream) const
virtual

calculate function for optimization

Returns
bool fullfilled calculate function for optimization
bool fullfilled This is the output method for any object. The default implementation provided with CCopasiObject uses the ostream operator<< of the object to print the object.To overide this default behaviour one needs to reimplement the virtual print function.
Parameters
std::ostream* ostream

Reimplemented from CCopasiParameterGroup.

Reimplemented in COptProblem, CSensProblem, CCrossSectionProblem, CLNAProblem, CMCAProblem, CFitProblem, and COscillationProblem.

Definition at line 84 of file CCopasiProblem.cpp.

Referenced by operator<<(), and CTSSAProblem::printResult().

85  {*ostream << *this;}
void CCopasiProblem::printResult ( std::ostream *  ostream) const
virtual

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

Parameters
std::ostream* ostream

Reimplemented in COptProblem, CTSSAProblem, CSensProblem, CLyapProblem, CFitProblem, CEFMProblem, CLNAProblem, CMCAProblem, COscillationProblem, and CMoietiesProblem.

Definition at line 87 of file CCopasiProblem.cpp.

Referenced by operator<<(), and CQTSSAResultSubWidget::saveDataToFile().

88  {*ostream << "Not implemented.";}
bool CCopasiProblem::restore ( const bool &  updateModel)
virtual

Do the calculatting based on CalculateVariables and fill CalculateResults with the results.

Returns
bool succes Do all neccessary restore procedures so that the model is in the same state as before const bool & updateModel
bool succes

Reimplemented in COptProblem, and CFitProblem.

Definition at line 82 of file CCopasiProblem.cpp.

Referenced by CCopasiTask::restore().

82 {return true;}
bool CCopasiProblem::setCallBack ( CProcessReport pCallBack)
virtual

Set the call back of the problem

Parameters
CProcessReport* pCallBack
Returns
bool succes

Reimplemented in COptProblem, CEFMProblem, CFitProblem, and COscillationProblem.

Definition at line 72 of file CCopasiProblem.cpp.

References mpCallBack.

Referenced by CMoietiesTask::setCallBack(), COscillationProblem::setCallBack(), CFitTask::setCallBack(), COscillationTask::setCallBack(), CEFMProblem::setCallBack(), CEFMTask::setCallBack(), COptTask::setCallBack(), and COptProblem::setCallBack().

73 {
74  mpCallBack = pCallBack;
75  return true;
76 }
CProcessReport * mpCallBack
bool CCopasiProblem::setModel ( CModel pModel)
virtual

Set the model of the problem

Parameters
CModel* pModel
Returns
bool succes

Reimplemented in COptProblem, CLNAProblem, CMCAProblem, CFitProblem, and COscillationProblem.

Definition at line 64 of file CCopasiProblem.cpp.

References mpModel.

Referenced by CCopasiDataModel::addTask(), CSensMethod::initialize(), CNewtonMethod::initialize(), CScanTask::initSubtask(), CCopasiXMLParser::TaskElement::start(), and test000087::test_simulate_reaction_flux_reference_1().

65 {
66  mpModel = pModel;
67  return true;
68 }
CModel * mpModel

Friends And Related Function Documentation

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

Output stream operator

Parameters
ostream& os
constCCopasiProblem & A
Returns
ostream & os

Definition at line 90 of file CCopasiProblem.cpp.

91 {
92  os << "Problem Description:" << std::endl;
93 
94  CCopasiParameterGroup::parameterGroup::const_iterator it =
95  o.CCopasiParameter::getValue().pGROUP->begin();
96  CCopasiParameterGroup::parameterGroup::const_iterator end =
97  o.CCopasiParameter::getValue().pGROUP->end();
98 
99  for (; it != end; ++it)
100  {
101  (*it)->print(&os);
102  os << std::endl;
103  }
104 
105  return os;
106 }
virtual void print(std::ostream *ostream) const

Member Data Documentation

CProcessReport* CCopasiProblem::mpCallBack
protected
CModel* CCopasiProblem::mpModel
protected
CReport* CCopasiProblem::mpReport
protected

A pointer to the report

Definition at line 63 of file CCopasiProblem.h.

Referenced by COptProblem::initialize().

CCopasiTask::Type CCopasiProblem::mType
private

The type of the problem

Definition at line 47 of file CCopasiProblem.h.

Referenced by getType().


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