Jpp
JDAQEventHeader.hh
Go to the documentation of this file.
1 #ifndef __JDAQEVENTHEADER__
2 #define __JDAQEVENTHEADER__
3 
4 #include "JDAQRoot.hh"
5 #include "JDAQHeader.hh"
6 #include "JDAQTriggerCounter.hh"
7 #include "JDAQTriggerMask.hh"
8 
9 
10 /**
11  * \author mdejong
12  */
13 
14 namespace KM3NETDAQ {
15 
16  /**
17  * JDAQ event header.
18  */
20  public JDAQHeader,
21  public JDAQTriggerCounter,
22  public JDAQTriggerMask
23  {
24  public:
25 
26  friend size_t getSizeof<JDAQEventHeader>();
28  friend JWriter& operator<<(JWriter&, const JDAQEventHeader&);
29 
30  /**
31  * Default constructor.
32  */
34  JDAQHeader(),
37  overlays(0)
38  {}
39 
40 
41  /**
42  * Constructor.
43  *
44  * \param chronometer DAQ chronometer
45  * \param mask trigger mask
46  */
47  JDAQEventHeader(const JDAQChronometer& chronometer,
48  const JDAQTriggerMask& mask = JDAQTriggerMask()) :
49  JDAQHeader(chronometer),
51  JDAQTriggerMask(mask),
52  overlays(0)
53  {}
54 
55 
56  /**
57  * Get DAQ event header.
58  *
59  * \return DAQ event header
60  */
62  {
63  return static_cast<const JDAQEventHeader&>(*this);
64  }
65 
66 
67  /**
68  * Check if header is same.
69  *
70  * \param header DAQ event header
71  * \return true if event headers are same; else false
72  */
73  inline bool is_same(const JDAQEventHeader& header) const
74  {
75  return (this->getDetectorID() == header.getDetectorID() &&
76  this->getRunNumber() == header.getRunNumber() &&
77  this->getFrameIndex() == header.getFrameIndex() &&
78  this->getCounter() == header.getCounter());
79  }
80 
81 
82  /**
83  * Get number of overlays.
84  *
85  * \return number of overlays
86  */
87  unsigned int getOverlays() const
88  {
89  return overlays;
90  }
91 
92 
94 
95 
96  protected:
97  unsigned int overlays;
98  };
99 
100 
101  /**
102  * Equal operator for DAQ event headers.
103  *
104  * \param first event header
105  * \param second event header
106  * \result true if first event header equal to second; else false
107  */
108  inline bool operator==(const JDAQEventHeader& first,
109  const JDAQEventHeader& second)
110  {
111  return (first.getDAQHeader() == second.getDAQHeader() &&
112  first.getDAQTriggerCounter() == second.getDAQTriggerCounter() &&
113  first.getDAQTriggerMask() == second.getDAQTriggerMask());
114  }
115 
116 
117  /**
118  * Not-equal operator for DAQ event headers.
119  *
120  * \param first event header
121  * \param second event header
122  * \result true if first event header not equal to second; else false
123  */
124  inline bool operator!=(const JDAQEventHeader& first,
125  const JDAQEventHeader& second)
126  {
127  return !(first == second);
128  }
129 }
130 
131 #endif
KM3NETDAQ::JDAQHeader::getDAQHeader
const JDAQHeader & getDAQHeader() const
Get DAQ header.
Definition: JDAQHeader.hh:49
JIO::JReader
Interface for binary input.
Definition: JSerialisable.hh:62
KM3NETDAQ::JDAQEventHeader::JDAQEventHeader
JDAQEventHeader()
Default constructor.
Definition: JDAQEventHeader.hh:33
KM3NETDAQ::JDAQEventHeader::is_same
bool is_same(const JDAQEventHeader &header) const
Check if header is same.
Definition: JDAQEventHeader.hh:73
KM3NETDAQ::JDAQEventHeader::operator<<
friend JWriter & operator<<(JWriter &, const JDAQEventHeader &)
Write DAQ event header to output.
Definition: JDAQEventHeaderIO.hh:58
KM3NETDAQ::JDAQEventHeader::ClassDef
ClassDef(JDAQEventHeader, 3)
KM3NETDAQ::JDAQTriggerCounter::getCounter
JTriggerCounter_t getCounter() const
Get trigger counter.
Definition: JDAQTriggerCounter.hh:99
KM3NETDAQ::JDAQHeader
DAQ header.
Definition: JDAQHeader.hh:17
KM3NETDAQ::JDAQChronometer::getFrameIndex
int getFrameIndex() const
Get frame index.
Definition: JDAQChronometer.hh:132
KM3NETDAQ::JDAQTriggerCounter::getDAQTriggerCounter
const JDAQTriggerCounter & getDAQTriggerCounter() const
Get DAQ trigger counter.
Definition: JDAQTriggerCounter.hh:79
KM3NETDAQ::JDAQChronometer::getDetectorID
int getDetectorID() const
Get detector identifier.
Definition: JDAQChronometer.hh:110
JDAQTriggerCounter.hh
KM3NETDAQ::JDAQTriggerCounter
Auxiliary class to count triggers.
Definition: JDAQTriggerCounter.hh:23
KM3NETDAQ::operator!=
bool operator!=(const JDAQChronometer &first, const JDAQChronometer &second)
Not-equal operator for DAQ chronometers.
Definition: JDAQChronometer.hh:253
KM3NETDAQ::JDAQEventHeader::getDAQEventHeader
const JDAQEventHeader & getDAQEventHeader() const
Get DAQ event header.
Definition: JDAQEventHeader.hh:61
KM3NETDAQ::JDAQEventHeader::getOverlays
unsigned int getOverlays() const
Get number of overlays.
Definition: JDAQEventHeader.hh:87
JIO::JWriter
Interface for binary output.
Definition: JSerialisable.hh:131
JDAQHeader.hh
KM3NETDAQ::JDAQTriggerMask::JDAQTriggerMask
JDAQTriggerMask()
Default constructor.
Definition: JDAQTriggerMask.hh:58
JDAQRoot.hh
KM3NETDAQ::JDAQEventHeader::JDAQEventHeader
JDAQEventHeader(const JDAQChronometer &chronometer, const JDAQTriggerMask &mask=JDAQTriggerMask())
Constructor.
Definition: JDAQEventHeader.hh:47
JDAQTriggerMask.hh
KM3NETDAQ::operator==
bool operator==(const JDAQChronometer &first, const JDAQChronometer &second)
Equal operator for DAQ chronometers.
Definition: JDAQChronometer.hh:236
KM3NETDAQ::JDAQTriggerMask
Auxiliary class for trigger mask.
Definition: JDAQTriggerMask.hh:48
KM3NETDAQ::JDAQChronometer::getRunNumber
int getRunNumber() const
Get run number.
Definition: JDAQChronometer.hh:121
KM3NETDAQ::JDAQEventHeader::overlays
unsigned int overlays
Definition: JDAQEventHeader.hh:97
KM3NETDAQ
KM3NeT DAQ data structures and auxiliaries.
Definition: DataQueue.cc:39
KM3NETDAQ::getSizeof< JDAQEventHeader >
size_t getSizeof< JDAQEventHeader >()
Get size of type.
Definition: JDAQEventHeaderIO.hh:24
KM3NETDAQ::JDAQEventHeader
JDAQ event header.
Definition: JDAQEventHeader.hh:19
KM3NETDAQ::JDAQChronometer
DAQ chronometer.
Definition: JDAQChronometer.hh:21
KM3NETDAQ::JDAQTriggerMask::getDAQTriggerMask
const JDAQTriggerMask & getDAQTriggerMask() const
Get DAQ trigger mask.
Definition: JDAQTriggerMask.hh:95
KM3NETDAQ::JDAQEventHeader::operator>>
friend JReader & operator>>(JReader &, JDAQEventHeader &)
Read DAQ event header from input.
Definition: JDAQEventHeaderIO.hh:40