COPASI API  4.40.278
CMathEvent::CTrigger Class Reference

#include <CMathEvent.h>

Classes

class  CRootProcessor
 

Public Member Functions

void allocate (const CEvent *pDataEvent, const CMathContainer &container)
 
void allocateDiscontinuous (const size_t &nRoots, const CMathContainer &container)
 
bool compile (const CEvent *pDataEvent, CMathContainer &container)
 
void copy (const CTrigger &src, CMathContainer &container)
 
 CTrigger ()
 
 CTrigger (const CTrigger &src)
 
const CVector< CRootProcessor > & getRoots () const
 
void initialize (CMath::sPointers &pointers)
 
bool isTrue () const
 
void relocate (const CMathContainer *pContainer, const std::vector< CMath::sRelocate > &relocations)
 
void setExpression (const std::string &infix, CMathContainer &container)
 
 ~CTrigger ()
 

Static Private Member Functions

static CEvaluationNodecompile (const CEvaluationNode *pNode, const CMath::Variables< CEvaluationNode * > &variables, CMathEvent::CTrigger::CRootProcessor *&pRoot, CMathContainer &container)
 
static CEvaluationNodecompileAND (const CEvaluationNode *pNode, const std::vector< CEvaluationNode * > &children, const CMath::Variables< CEvaluationNode * > &variables, CMathEvent::CTrigger::CRootProcessor *&pRoot, CMathContainer &container)
 
static CEvaluationNodecompileEQ (const CEvaluationNode *pNode, const std::vector< CEvaluationNode * > &children, const CMath::Variables< CEvaluationNode * > &variables, CMathEvent::CTrigger::CRootProcessor *&pRoot, CMathContainer &container)
 
static CEvaluationNodecompileFUNCTION (const CEvaluationNode *pNode, const std::vector< CEvaluationNode * > &children, const CMath::Variables< CEvaluationNode * > &variables, CMathEvent::CTrigger::CRootProcessor *&pRoot, CMathContainer &container)
 
static CEvaluationNodecompileLE (const CEvaluationNode *pNode, const std::vector< CEvaluationNode * > &children, const CMath::Variables< CEvaluationNode * > &variables, CMathEvent::CTrigger::CRootProcessor *&pRoot, CMathContainer &container)
 
static CEvaluationNodecompileNE (const CEvaluationNode *pNode, const std::vector< CEvaluationNode * > &children, const CMath::Variables< CEvaluationNode * > &variables, CMathEvent::CTrigger::CRootProcessor *&pRoot, CMathContainer &container)
 
static CEvaluationNodecompileNOT (const CEvaluationNode *pNode, const std::vector< CEvaluationNode * > &children, const CMath::Variables< CEvaluationNode * > &variables, CMathEvent::CTrigger::CRootProcessor *&pRoot, CMathContainer &container)
 
static CEvaluationNodecompileVARIABLE (const CEvaluationNode *pNode, const std::vector< CEvaluationNode * > &children, const CMath::Variables< CEvaluationNode * > &variables, CMathEvent::CTrigger::CRootProcessor *&pRoot, CMathContainer &container)
 
static size_t countRoots (const CEvaluationNode *pNode, const CMath::Variables< size_t > &variables)
 
static size_t countRootsDefault (const std::vector< size_t > &children)
 
static size_t countRootsEQ (const CEvaluationNode *pNode, const std::vector< size_t > &children)
 
static size_t countRootsFUNCTION (const CEvaluationNode *pNode, const std::vector< size_t > &children)
 
static size_t countRootsVARIABLE (const CEvaluationNode *pNode, const CMath::Variables< size_t > &variables)
 

Private Attributes

std::string mInfix
 
CMathObjectmpInitialTrigger
 
CMathObjectmpTrigger
 
CVector< CRootProcessormRoots
 

Friends

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

Constructor & Destructor Documentation

◆ CTrigger() [1/2]

CMathEvent::CTrigger::CTrigger ( )

Default constructor

◆ CTrigger() [2/2]

CMathEvent::CTrigger::CTrigger ( const CTrigger src)

Copy constructor

◆ ~CTrigger()

CMathEvent::CTrigger::~CTrigger ( )

Destructor

Member Function Documentation

◆ allocate()

◆ allocateDiscontinuous()

void CMathEvent::CTrigger::allocateDiscontinuous ( const size_t &  nRoots,
const CMathContainer container 
)

◆ compile() [1/2]

◆ compile() [2/2]

◆ compileAND()

CEvaluationNode * CMathEvent::CTrigger::compileAND ( const CEvaluationNode pNode,
const std::vector< CEvaluationNode * > &  children,
const CMath::Variables< CEvaluationNode * > &  variables,
CMathEvent::CTrigger::CRootProcessor *&  pRoot,
CMathContainer container 
)
staticprivate

◆ compileEQ()

CEvaluationNode * CMathEvent::CTrigger::compileEQ ( const CEvaluationNode pNode,
const std::vector< CEvaluationNode * > &  children,
const CMath::Variables< CEvaluationNode * > &  variables,
CMathEvent::CTrigger::CRootProcessor *&  pRoot,
CMathContainer container 
)
staticprivate

◆ compileFUNCTION()

CEvaluationNode * CMathEvent::CTrigger::compileFUNCTION ( const CEvaluationNode pNode,
const std::vector< CEvaluationNode * > &  children,
const CMath::Variables< CEvaluationNode * > &  variables,
CMathEvent::CTrigger::CRootProcessor *&  pRoot,
CMathContainer container 
)
staticprivate

References CMathEvent::compile().

◆ compileLE()

◆ compileNE()

CEvaluationNode * CMathEvent::CTrigger::compileNE ( const CEvaluationNode pNode,
const std::vector< CEvaluationNode * > &  children,
const CMath::Variables< CEvaluationNode * > &  variables,
CMathEvent::CTrigger::CRootProcessor *&  pRoot,
CMathContainer container 
)
staticprivate

◆ compileNOT()

CEvaluationNode * CMathEvent::CTrigger::compileNOT ( const CEvaluationNode pNode,
const std::vector< CEvaluationNode * > &  children,
const CMath::Variables< CEvaluationNode * > &  variables,
CMathEvent::CTrigger::CRootProcessor *&  pRoot,
CMathContainer container 
)
staticprivate

◆ compileVARIABLE()

CEvaluationNode * CMathEvent::CTrigger::compileVARIABLE ( const CEvaluationNode pNode,
const std::vector< CEvaluationNode * > &  children,
const CMath::Variables< CEvaluationNode * > &  variables,
CMathEvent::CTrigger::CRootProcessor *&  pRoot,
CMathContainer container 
)
staticprivate

◆ copy()

void CMathEvent::CTrigger::copy ( const CTrigger src,
CMathContainer container 
)

Copy an existing object

Parameters
constCTrigger & src
CMathContainer& container

References CMathEvent::CTrigger::CRootProcessor::copy(), and mRoots.

Referenced by CMathEvent::copy().

◆ countRoots()

◆ countRootsDefault()

size_t CMathEvent::CTrigger::countRootsDefault ( const std::vector< size_t > &  children)
staticprivate

◆ countRootsEQ()

size_t CMathEvent::CTrigger::countRootsEQ ( const CEvaluationNode pNode,
const std::vector< size_t > &  children 
)
staticprivate

◆ countRootsFUNCTION()

size_t CMathEvent::CTrigger::countRootsFUNCTION ( const CEvaluationNode pNode,
const std::vector< size_t > &  children 
)
staticprivate

◆ countRootsVARIABLE()

size_t CMathEvent::CTrigger::countRootsVARIABLE ( const CEvaluationNode pNode,
const CMath::Variables< size_t > &  variables 
)
staticprivate

References C_INVALID_INDEX.

◆ getRoots()

◆ initialize()

◆ isTrue()

bool CMathEvent::CTrigger::isTrue ( ) const

Check whether the root state is true

Returns
bool isTrue

References C_FLOAT64.

Referenced by CMathEvent::fire().

◆ relocate()

void CMathEvent::CTrigger::relocate ( const CMathContainer pContainer,
const std::vector< CMath::sRelocate > &  relocations 
)

The objects and values are relocated

Parameters
constCMathContainer * pContainer
conststd::vector< CMath::sRelocate > & relocations

References CMathEvent::CTrigger::CRootProcessor::relocate(), and CMathContainer::relocateObject().

Referenced by CMathEvent::relocate().

◆ setExpression()

void CMathEvent::CTrigger::setExpression ( const std::string &  infix,
CMathContainer container 
)

Set the trigger expression

Parameters
conststd::string & infix
CMathContainer& container

References CMathEvent::compile(), CMathEvent::CTrigger::CRootProcessor::mpRoot, and CMathEvent::CTrigger::CRootProcessor::mpRootState.

Referenced by CMathEvent::setTriggerExpression().

Friends And Related Function Documentation

◆ operator<<

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

Member Data Documentation

◆ mInfix

std::string CMathEvent::CTrigger::mInfix
private

◆ mpInitialTrigger

CMathObject* CMathEvent::CTrigger::mpInitialTrigger
private

◆ mpTrigger

CMathObject* CMathEvent::CTrigger::mpTrigger
private

◆ mRoots

CVector< CRootProcessor > CMathEvent::CTrigger::mRoots
private

Referenced by copy().


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