Pixie16 Analysis Software Suite
Analysis code for processing of .ldf files
PlaceOR Class Reference

An abstract place using OR logic to set the activation of places. More...

#include <Places.hpp>

Inheritance diagram for PlaceOR:
Collaboration diagram for PlaceOR:

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 EventDataoperator[] (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< EventDatainfo_
 
- Protected Attributes inherited from Place
unsigned max_size_
 
bool status_
 
bool resetable_
 
std::vector< std::pair< Place *, bool > > children_
 
std::vector< Place * > parents_
 

Detailed Description

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).

Constructor & Destructor Documentation

PlaceOR::PlaceOR ( bool  resetable = true,
unsigned  max_size = 2 
)
inline

Constructor taking options

Parameters
[in]resetable: whether or not the place is resetable
[in]max_size: the maximum size of the place

Member Function Documentation

virtual void PlaceOR::check_ ( EventData info)
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)

Parameters
[in]info: the event data to check for an activation

Implements Place.


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