DUECA/DUSIME
|
"Or" combination of different TriggerPullers. More...
#include <Trigger.hxx>
Public Member Functions | |
ConditionOr () | |
Constructor. | |
~ConditionOr () | |
Destructor. | |
const std::string & | getTargetName () const |
Target name is same as trigger name. | |
Public Member Functions inherited from dueca::TargetAndPuller | |
void | addTerm (TriggerPuller &p) |
Add another puller to this (and, or) combination of triggers. | |
void | addTerm (const boost::intrusive_ptr< TargetAndPuller > &p) |
Add another puller to this combination. | |
bool | removeTerm (TriggerPuller &p) |
Remove a term from this TriggerAnd or TriggerOr object. | |
Public Member Functions inherited from dueca::TriggerPuller | |
const std::string & | getTriggerName () const |
Find a name. | |
Friends | |
ConditionOrPtr | operator|| (TriggerPuller &c1, TriggerPuller &c2) |
Combine two TriggerPuller objects into an "OR" condition. | |
ConditionOrPtr | operator|| (ConditionOrPtr c1, TriggerPuller &c2) |
Add a TriggerPuller to an existing ConditionOr. | |
ConditionOrPtr | operator|| (TriggerPuller &c1, ConditionOrPtr c2) |
Add a TriggerPuller to an existing ConditionOr. | |
Additional Inherited Members | |
Protected Types inherited from dueca::TriggerPuller | |
typedef list< TargetData > | targetlist_type |
Combination of a target, someone to pull if requested, and the index that target needs to identify this puller. | |
Protected Member Functions inherited from dueca::TargetAndPuller | |
TargetAndPuller (const std::string &name=std::string()) | |
Constructor. | |
virtual | ~TargetAndPuller () |
Destructor. | |
Protected Member Functions inherited from dueca::TriggerPuller | |
void | pull (const DataTimeSpec &ts) |
activate and notify the targets | |
TriggerPuller (const std::string &name=std::string()) | |
Constructor. | |
virtual | ~TriggerPuller () |
Destructor. | |
virtual void | addTarget (const boost::intrusive_ptr< TriggerTarget > &target, unsigned id) |
Add a target to this puller, only called by TriggerTarget's setTrigger. | |
virtual void | removeTarget (const TriggerTarget *target) |
Remove a target from the puller, only called by destructor. | |
Protected Attributes inherited from dueca::TargetAndPuller | |
unsigned | name_psize |
Number of pullers when name calculated. | |
Protected Attributes inherited from dueca::TriggerPuller | |
targetlist_type | targets |
List of targets and indices. | |
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.