|
COPASI API
4.40.278
|
#include <CMathEventQueue.h>
Classes | |
| class | CAction |
| class | CKey |
Public Types | |
| typedef std::multimap< CKey, CAction >::const_iterator | const_iterator |
| typedef std::multimap< CKey, CAction >::iterator | iterator |
| typedef std::pair< std::multimap< CKey, CAction >::iterator, std::multimap< CKey, CAction >::iterator > | range |
Public Member Functions | |
| bool | addAssignment (const C_FLOAT64 &executionTime, const bool &equality, const CVectorCore< C_FLOAT64 > &values, CMathEvent *pEvent) |
| bool | addCalculation (const C_FLOAT64 &executionTime, const bool &equality, CMathEvent *pEvent) |
| CMathEventQueue (CMathContainer &mathContainer) | |
| const C_FLOAT64 & | getProcessQueueExecutionTime () const |
| void | printDebug () const |
| CMath::StateChange | process (const bool &priorToOutput) |
| void | removeAction (const std::pair< CMathEventQueue::CKey, CMathEventQueue::CAction > &action) |
| void | start () |
| ~CMathEventQueue () | |
Private Member Functions | |
| CMathEventQueue () | |
| CMath::StateChange | executeAction (CMathEventQueue::iterator itAction) |
| iterator | getAction () |
| bool | rootsFound () |
Private Attributes | |
| std::multimap< CKey, CAction > | mActions |
| size_t | mCascadingLevel |
| bool | mEquality |
| size_t | mExecutionCounter |
| size_t | mExecutionLimit |
| CMathContainer * | mpContainer |
| CVector< C_FLOAT64 > * | mpRootValuesAfter |
| CVector< C_FLOAT64 > * | mpRootValuesBefore |
| const C_FLOAT64 * | mpTime |
| CVector< C_INT > | mRootsFound |
| CVector< C_FLOAT64 > | mRootValues1 |
| CVector< C_FLOAT64 > | mRootValues2 |
| CCore::CUpdateSequence | mUpdateSequence |
Friends | |
| std::ostream & | operator<< (std::ostream &os, const CAction &o) |
| std::ostream & | operator<< (std::ostream &os, const CKey &o) |
| std::ostream & | operator<< (std::ostream &os, const CMathEventQueue &o) |
| typedef std::multimap< CKey, CAction >::const_iterator CMathEventQueue::const_iterator |
| typedef std::multimap< CKey, CAction >::iterator CMathEventQueue::iterator |
| typedef std::pair< std::multimap< CKey, CAction >::iterator, std::multimap< CKey, CAction >::iterator > CMathEventQueue::range |
|
private |
Default constructor
| CMathEventQueue::CMathEventQueue | ( | CMathContainer & | mathContainer | ) |
Default constructor
| CMathContainer | & mathContainer |
| CMathEventQueue::~CMathEventQueue | ( | ) |
Destructor
| bool CMathEventQueue::addAssignment | ( | const C_FLOAT64 & | executionTime, |
| const bool & | equality, | ||
| const CVectorCore< C_FLOAT64 > & | values, | ||
| CMathEvent * | pEvent | ||
| ) |
Add an assignment to the process queue.
| const | C_FLOAT64 & executionTime |
| const | bool & equality |
| const | CVectorCore< C_FLOAT64 > & values |
| CMathEventN | * pEvent |
References CMathEvent::addPendingAction(), C_FLOAT64, CMathEvent::getPriority(), CMathObject::getValuePointer(), mActions, mCascadingLevel, and mpTime.
Referenced by CMathEvent::fire().
| bool CMathEventQueue::addCalculation | ( | const C_FLOAT64 & | executionTime, |
| const bool & | equality, | ||
| CMathEvent * | pEvent | ||
| ) |
Add a calculation to the process queue.
| const | C_FLOAT64 & executionTime |
| const | bool & equality |
| CMathEventN | * pEvent |
References CMathEvent::addPendingAction(), C_FLOAT64, CMathEvent::getPriority(), CMathObject::getValuePointer(), mActions, mCascadingLevel, and mpTime.
Referenced by CMathEvent::fire().
|
private |
Execute the calculations
| CMathEventQueue::iterator | itAction |
References mActions, and mExecutionCounter.
Referenced by process().
|
private |
Retrieve the currently pending actions
References C_FLOAT64, CMathContainer::getRandomGenerator(), CRandom::getRandomU(), mActions, mCascadingLevel, mEquality, mpContainer, and mpTime.
Referenced by process().
| const C_FLOAT64 & CMathEventQueue::getProcessQueueExecutionTime | ( | ) | const |
Retrieve the next execution time scheduled in the process queue
References C_FLOAT64, and mActions.
Referenced by CMathContainer::getProcessQueueExecutionTime(), and process().
|
inline |
This prints debugging info to stdout
| CMath::StateChange CMathEventQueue::process | ( | const bool & | priorToOutput | ) |
Process the queue.
| const | bool & priorToOutput |
References executeAction(), getAction(), getProcessQueueExecutionTime(), CMathContainer::getRoots(), CMathContainer::getState(), mActions, max, mCascadingLevel, mEquality, mExecutionCounter, mpContainer, mpRootValuesBefore, mpTime, mRootsFound, CFlags< eStateChange >::None, CMathContainer::processRoots(), rootsFound(), and CMathContainer::updatePriorityValues().
Referenced by CMathContainer::processQueue().
| void CMathEventQueue::removeAction | ( | const std::pair< CMathEventQueue::CKey, CMathEventQueue::CAction > & | action | ) |
Remove an action from queue
| const | std::pair< CMathEventQueue::CKey, CMathEventQueue::CAction > & action |
References mActions.
Referenced by CMathEvent::fire().
|
private |
Check whether the executions of assignment lead to newly found roots
References CVectorCore< CType >::array(), C_FLOAT64, C_INT, CMathContainer::getRootProcessors(), CMathContainer::getRoots(), mpContainer, mpRootValuesAfter, mpRootValuesBefore, mRootsFound, and CVectorCore< CType >::size().
Referenced by process().
| void CMathEventQueue::start | ( | ) |
Start the event queue
References CVectorCore< CType >::array(), CMathContainer::getCountFixedEventTargets(), CMathContainer::getRoots(), CMathContainer::getState(), mActions, mpContainer, mpRootValuesAfter, mpRootValuesBefore, mpTime, mRootsFound, mRootValues1, mRootValues2, CVector< CType >::resize(), and CVectorCore< CType >::size().
Referenced by CMathContainer::applyInitialValues(), and CMathContainer::relocate().
|
friend |
|
friend |
|
friend |
An ordered list of calculations in the queue.
Referenced by addAssignment(), addCalculation(), executeAction(), getAction(), getProcessQueueExecutionTime(), process(), removeAction(), and start().
|
private |
The cascading level of events
Referenced by addAssignment(), addCalculation(), getAction(), CMathEventQueue::CKey::operator<(), and process().
|
private |
Indicate whether we processing equality or inequality
Referenced by getAction(), CMathEventQueue::CKey::operator<(), and process().
|
private |
A counter of the execution steps for the current process
Referenced by executeAction(), and process().
|
private |
The limit of execution steps allowed for call to process
|
private |
A pointer to the math container the event queue belongs to.
Referenced by getAction(), process(), rootsFound(), and start().
Referenced by rootsFound(), and start().
Referenced by process(), rootsFound(), and start().
|
private |
A pointer to the current container time
Referenced by addAssignment(), addCalculation(), getAction(), process(), and start().
Referenced by process(), rootsFound(), and start().
|
private |
The update sequence which need to be applied to update all roots and total moieties