Pixie16 Analysis Software Suite
Analysis code for processing of .ldf files
|
An abstract place using OR logic to set the activation of places. More...
#include <Places.hpp>
Public Member Functions | |
PlaceOR (bool resetable=true, unsigned max_size=2) | |
Public Member Functions inherited from Place | |
Place (bool resetable=true, unsigned max_size=2) | |
virtual | ~Place () |
virtual void | addChild (Place *child, bool coin=true) |
virtual bool | checkChildren (Place *child) |
virtual bool | checkParents (Place *child) |
virtual void | activate (EventData &info) |
virtual void | activate (double time) |
virtual void | deactivate (double time) |
virtual void | reset () |
virtual bool | operator&& (const Place &right) const |
virtual bool | operator|| (const Place &right) const |
virtual bool | operator() () const |
virtual bool | status () const |
virtual EventData & | operator[] (unsigned index) |
virtual EventData | operator[] (unsigned index) const |
virtual EventData | last () |
virtual EventData | secondlast () |
virtual bool | resetable () const |
Protected Member Functions | |
virtual void | check_ (EventData &info) |
Protected Member Functions inherited from Place | |
virtual void | addParent_ (Place *parent) |
virtual void | report_ (EventData &info) |
virtual void | add_info_ (const EventData &info) |
Additional Inherited Members | |
Data Fields inherited from Place | |
std::deque< EventData > | info_ |
Protected Attributes inherited from Place | |
unsigned | max_size_ |
bool | status_ |
bool | resetable_ |
std::vector< std::pair< Place *, bool > > | children_ |
std::vector< Place * > | parents_ |
An abstract place using OR logic to set the activation of places.
This Place is an abstract place, which status depends on children in OR manner i.e if any of children is activated, the place is activated too. Example: Beta place - if any of physical beta detectors was activated, the place Beta is also active indicating that there was beta registered in the system).
|
inline |
Constructor taking options
[in] | resetable | : whether or not the place is resetable |
[in] | max_size | : the maximum size of the place |
|
protectedvirtual |
Check to see if we should activate anybody
Take first child to get initial state. Then browse through other children, if sum is true break (OR will be true anyway) In order to check childer status we must take into account relation (true for coincidence, false for anticoincidence) Thus we check (children_[i].first->status() == children_[i].second) where first is pointer to child Place, second is bool (relation)
[in] | info | : the event data to check for an activation |
Implements Place.