DUECA/DUSIME
|
Or combination of different TriggerPullers. More...
Public Member Functions | |
ConditionOr () | |
Constructor. More... | |
~ConditionOr () | |
Destructor. More... | |
const std::string & | getTargetName () const |
Target name is same as trigger name. | |
![]() | |
void | addTerm (TriggerPuller &p) |
Add another puller to this (and, or) combination of triggers. More... | |
void | addTerm (const boost::intrusive_ptr< TargetAndPuller > &p) |
Add another puller to this combination. More... | |
![]() | |
const std::string & | getTriggerName () const |
Find a name. | |
Friends | |
ConditionOrPtr | operator|| (TriggerPuller &c1, TriggerPuller &c2) |
Combine two TriggerPuller objects into an "OR" condition. More... | |
ConditionOrPtr | operator|| (ConditionOrPtr c1, TriggerPuller &c2) |
Add a TriggerPuller to an existing ConditionOr. More... | |
ConditionOrPtr | operator|| (TriggerPuller &c1, ConditionOrPtr c2) |
Add a TriggerPuller to an existing ConditionOr. More... | |
Additional Inherited Members | |
![]() | |
typedef list< TargetData > | targetlist_type |
Combination of a target, someone to pull if requested, and the index that target needs to identify this puller. More... | |
![]() | |
TargetAndPuller (const std::string &name=std::string()) | |
Constructor. More... | |
virtual | ~TargetAndPuller () |
Destructor. | |
![]() | |
void | pull (const DataTimeSpec &ts) |
activate and notify the targets | |
TriggerPuller (const std::string &name=std::string()) | |
Constructor. More... | |
virtual | ~TriggerPuller () |
Destructor. More... | |
virtual void | addTarget (const boost::intrusive_ptr< TriggerTarget > &target, unsigned id) |
Add a target to this puller, only called by TriggerTarget's setTrigger. More... | |
virtual void | removeTarget (const TriggerTarget *target) |
Remove a target from the puller, only called by destructor. More... | |
![]() | |
unsigned | name_psize |
Number of pullers when name calculated. | |
![]() | |
targetlist_type | targets |
List of targets and indices. More... | |
std::bitset< MAX_MANAGERS > | activitylevels |
Index of activitymanager levels. | |
std::string | name |
Name, for debugging purposes. | |
Or combination of different TriggerPullers.
Note that you need not make an OR combination directly, it is automatically done by the operator || function for TriggerPullers.
Example:
An or combination of triggering basically optimistically advances time. It always produces spans, and when any of the contributing triggers triggers beyond the previous, the following span is produced.
dueca::ConditionOr::ConditionOr | ( | ) |
Constructor.
Called by the friend operator.
dueca::ConditionOr::~ConditionOr | ( | ) |
Destructor.
|
friend |
Combine two TriggerPuller objects into an "OR" condition.
This pulls if one of either TriggerPullers has pulled. If the second pulls afterward, pulls again. Useful for reacting to a number of event channels.
|
friend |
Add a TriggerPuller to an existing ConditionOr.
|
friend |
Add a TriggerPuller to an existing ConditionOr.