MEvent.h
Go to the documentation of this file.
1 #ifndef _mevt_MEvent_h_
2 #define _mevt_MEvent_h_
3 
4 #include <evt/Event.h>
5 #include <evt/ComponentGroup.h>
6 #include <mevt/Header.h>
7 #include <mevt/Counter.h>
8 
9 
10 namespace evt {
11  class Event;
12 }
13 
14 namespace mevt {
15 
25  class MEvent {
26  private:
28 
29  public:
32 
33  // Counters.
34  Counter& GetCounter(const int cId)
35  { return fCounters.Get(cId); }
36 
37  const Counter& GetCounter(const int cId) const
38  { return fCounters.Get(cId); }
39 
40  void MakeCounter(const int cId)
41  { fCounters.Make(cId); }
42 
43  bool HasCounter(const int cId) const
44  { return fCounters.Has(cId); }
45 
46  int GetNumberOfCounters() const
47  { return fCounters.GetNumberOf(); }
48 
50  { return fCounters.Begin(); }
51 
53  { return fCounters.End(); }
54 
56  { return fCounters.Begin(); }
57 
59  { return fCounters.End(); }
60 
62 
63  unsigned int GetNumberOfCandidateCounters() const;
64 
65  Header& GetHeader() { return *fHeader; }
66 
67  const Header& GetHeader() const { return *fHeader; }
68 
69  // An event is saturated if any of its counters is saturated
70  bool IsSaturated() const;
71 
72  private:
73  MEvent() { }
74  ~MEvent() { }
75 
78 
79  friend class evt::Event;
80  friend class utl::LameShadowPtr<MEvent>;
81 
82  };
83 
84 }
85 
86 
87 #endif
ComponentIterator Begin()
int GetNumberOfCounters() const
Definition: MEvent.h:46
InternalCounterCollection::ComponentConstIterator CounterConstIterator
Definition: MEvent.h:30
CounterConstIterator CountersBegin() const
Definition: MEvent.h:49
boost::transform_iterator< ConstComponentResolver, PairConstIterator > ComponentConstIterator
Alias for constant iterator over contained components.
bool IsSaturated() const
Definition: MEvent.cc:57
#define OFFLINE_MAKE_BOTH_ITERATOR_RANGES(_Iterator_, _ConstIterator_, _NamePrefix_)
Definition: IteratorRange.h:43
boost::transform_iterator< ComponentResolver, PairIterator > ComponentIterator
Alias for non-constant iterator over contained components.
CounterIterator CountersBegin()
Definition: MEvent.h:55
Counter level event data.
evt::ComponentGroup< Counter > InternalCounterCollection
Definition: MEvent.h:27
void Make(int id)
Construct by id.
const Counter & GetCounter(const int cId) const
Definition: MEvent.h:37
bool HasCounter(const int cId) const
Definition: MEvent.h:43
bool Has(const int id) const
Query existence.
int GetNumberOf() const
Query quantity.
utl::InitializedLameShadowPtr< Header > fHeader
Definition: MEvent.h:76
InternalCounterCollection::ComponentIterator CounterIterator
Definition: MEvent.h:31
InternalCounterCollection fCounters
Definition: MEvent.h:77
Header information for muon events.
Definition: MEvent/Header.h:20
CounterIterator CountersEnd()
Definition: MEvent.h:58
CounterConstIterator CountersEnd() const
Definition: MEvent.h:52
void MakeCounter(const int cId)
Definition: MEvent.h:40
Counter & GetCounter(const int cId)
Definition: MEvent.h:34
ComponentIterator End()
Header & GetHeader()
Definition: MEvent.h:65
Component & Get(const int id)
Retrieve by id.
unsigned int GetNumberOfCandidateCounters() const
Definition: MEvent.cc:43
Root of the Muon event hierarchy.
Definition: MEvent.h:25
const Header & GetHeader() const
Definition: MEvent.h:67

, generated on Tue Sep 26 2023.