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

#include <CLNAProblem.h>

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

Public Member Functions

 CLNAProblem (const CCopasiContainer *pParent=NULL)
 
 CLNAProblem (const CLNAProblem &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 ~CLNAProblem ()
 
- 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
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 ()
 

Private Attributes

CState mInitialState
 

Friends

std::ostream & operator<< (std::ostream &os, const CLNAProblem &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
}
 
- 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
CProcessReportmpCallBack
 
CModelmpModel
 
CReportmpReport
 
- Protected Attributes inherited from CCopasiParameter
std::string mKey
 
CCopasiObjectmpValueReference
 
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 CLNAProblem.h.

Constructor & Destructor Documentation

CLNAProblem::CLNAProblem ( const CCopasiContainer pParent = NULL)

Default constructor.

Parameters
constCCopasiContainer * pParent (default: NULL)

CLNAProblem class. This class describes the LNA analysis problem.

Created for Copasi by Juergen Pahle 2010 Default constructor.

Parameters
CModel *pModel

Definition at line 30 of file CLNAProblem.cpp.

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

30  :
33 {
34  addParameter("Steady-State", CCopasiParameter::KEY, std::string(""));
36 }
CState mInitialState
Definition: CLNAProblem.h:39
bool addParameter(const CCopasiParameter &parameter)
#define CONSTRUCTOR_TRACE
Definition: copasi.h:202
CLNAProblem::CLNAProblem ( const CLNAProblem src,
const CCopasiContainer pParent = NULL 
)

Copy constructor.

Parameters
const CLNAProblem &src CCopasiContainer * pParent (default: NULL)

Copy constructor.

Parameters
const CLNAProblem &src

Definition at line 42 of file CLNAProblem.cpp.

References CONSTRUCTOR_TRACE.

43  :
44  CCopasiProblem(src, pParent)
#define CONSTRUCTOR_TRACE
Definition: copasi.h:202
CLNAProblem::~CLNAProblem ( )
virtual

Destructor.

Definition at line 50 of file CLNAProblem.cpp.

References DESTRUCTOR_TRACE.

#define DESTRUCTOR_TRACE
Definition: copasi.h:206

Member Function Documentation

CSteadyStateTask * CLNAProblem::getSubTask ( ) const

Retrieve the subtask return CSteadyStateTask * pSubTask;

Definition at line 137 of file CLNAProblem.cpp.

References CKeyFactory::get(), CCopasiRootContainer::getKeyFactory(), CCopasiParameter::getValue(), and isSteadyStateRequested().

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

138 {
140  return dynamic_cast<CSteadyStateTask *>(CCopasiRootContainer::getKeyFactory()->get(* getValue("Steady-State").pKEY));
141  else
142  return NULL;
143 }
CCopasiObject * get(const std::string &key)
const Value & getValue() const
static CKeyFactory * getKeyFactory()
bool isSteadyStateRequested() const
bool CLNAProblem::isSteadyStateRequested ( ) const

Retrieve whether a steady state analysis is requested.

Returns
bool steadyStateRequested

Retrieve whether the steady state analysis is requested.

Returns
bool steadyStateRequested

Definition at line 134 of file CLNAProblem.cpp.

References CCopasiParameter::getValue().

Referenced by getSubTask(), CQLNAWidget::loadTask(), operator<<(), CLNATask::printResult(), and CQLNAWidget::saveTask().

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

Load a LNA problem

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

Load a lna problem

Parameters
CReadConfig &configBuffer

Definition at line 67 of file CLNAProblem.cpp.

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

69 {
70  if (configBuffer.getVersion() < "4.0")
71  {
72  bool SteadyStateRequested;
73  configBuffer.getVariable("RepxSteadyStateAnalysis", "bool" ,
74  &SteadyStateRequested,
76 
77  setSteadyStateRequested(SteadyStateRequested);
78  }
79 }
std::string getVersion()
Definition: CReadConfig.cpp:76
void setSteadyStateRequested(const bool &steadyStateRequested)
C_INT32 getVariable(const std::string &name, const std::string &type, void *pout, CReadConfig::Mode mode=CReadConfig::NEXT)
Definition: CReadConfig.cpp:81
void CLNAProblem::print ( std::ostream *  ostream) const
virtual

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

Parameters
std::ostream* ostream

Reimplemented from CCopasiProblem.

Definition at line 185 of file CLNAProblem.cpp.

186 {
187  *ostream << *this;
188 }
void CLNAProblem::printResult ( std::ostream *  ostream) const
virtual

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

Parameters
std::ostream* ostream

Reimplemented from CCopasiProblem.

Definition at line 145 of file CLNAProblem.cpp.

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

146 {
147  //this functionality is expected from the problem. However it is implemented in
148  //the task.
149 
150  CLNATask* parent = dynamic_cast<CLNATask*>(getObjectParent());
151 
152  if (!parent) return;
153 
154  parent->printResult(ostream);
155 }
void printResult(std::ostream *ostream) const
Definition: CLNATask.cpp:215
CCopasiContainer * getObjectParent() const
void CLNAProblem::setInitialState ( const CState initialState)

Set the initial state of the problem.

Parameters
constCState & InitialState

Set the initial state of the problem.

Parameters
constCState & initialState

Definition at line 85 of file CLNAProblem.cpp.

References mInitialState.

86 {
87  mInitialState = initialState;
88 }
CState mInitialState
Definition: CLNAProblem.h:39
bool CLNAProblem::setModel ( CModel pModel)
virtual

Set the model of the problem

Parameters
CModel* pModel
Returns
bool succes

Set the model the problem is dealing with.

Parameters
CModel *pModel

Reimplemented from CCopasiProblem.

Definition at line 57 of file CLNAProblem.cpp.

References CCopasiProblem::mpModel.

58 {
59  mpModel = pModel;
60  return true;
61 }
CModel * mpModel
void CLNAProblem::setSteadyStateRequested ( const bool &  steadyStateRequested)

Retrieve the initial state of the problem.

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

Set whether the steady state analysis is requested.

Parameters
bool* steadyStateRequested

Definition at line 115 of file CLNAProblem.cpp.

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

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

116 {
117  CSteadyStateTask * pSubTask = NULL;
118  CCopasiDataModel* pDataModel = getObjectDataModel();
119  assert(pDataModel != NULL);
120 
121  if (pDataModel && pDataModel->getTaskList())
122  pSubTask = dynamic_cast<CSteadyStateTask *>((*pDataModel->getTaskList())["Steady-State"]);
123 
124  if (steadyStateRequested && pSubTask)
125  setValue("Steady-State", pSubTask->getKey());
126  else
127  setValue("Steady-State", std::string(""));
128 }
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 CLNAProblem o 
)
friend

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

Parameters
ostream& os
constCLNAProblem & A
Returns
ostream & os

Definition at line 158 of file CLNAProblem.cpp.

159 {
160  os << "Problem Description:" << std::endl;
161 
162  if (o.isSteadyStateRequested())
163  {
164  os << "Calculation of a steady state is requested before the LNA." << std::endl << std::endl;
165 
166  if (o.getSubTask())
167  {
168  o.getSubTask()->getDescription().print(&os);
169  }
170  else
171  {
172  os << "However an error occurred. Please report this as a bug." << std::endl;
173  }
174  }
175  else
176  {
177  os << "LNA is performed on the current state (which is not necessarily a steady state)." << std::endl;
178  }
179 
180  os << std::endl;
181 
182  return os;
183 }
const CDescription & getDescription() const
CSteadyStateTask * getSubTask() const
virtual void print(std::ostream *ostream) const
bool isSteadyStateRequested() const

Member Data Documentation

CState CLNAProblem::mInitialState
private

The initial state, i.e., at which the LNA is calculated.

Definition at line 39 of file CLNAProblem.h.

Referenced by setInitialState().


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