Jpp 20.0.0-27-g39925593c-D
the software that should make you happy
Loading...
Searching...
No Matches
JDAQEventHeader.hh
Go to the documentation of this file.
1#ifndef __JDAQEVENTHEADER__
2#define __JDAQEVENTHEADER__
3
8
9
10/**
11 * \author mdejong
12 */
13
14namespace KM3NETDAQ {
15
16 /**
17 * JDAQ event header.
18 */
20 public JDAQHeader,
21 public JDAQTriggerCounter,
22 public JDAQTriggerMask
23 {
24 public:
25
28 friend JWriter& operator<<(JWriter&, const JDAQEventHeader&);
29
30 /**
31 * Default constructor.
32 */
39
40
41 /**
42 * Get DAQ event header.
43 *
44 * \return DAQ event header
45 */
47 {
48 return static_cast<const JDAQEventHeader&>(*this);
49 }
50
51
52 /**
53 * Check if header is same.
54 *
55 * \param header DAQ event header
56 * \return true if event headers are same; else false
57 */
58 inline bool is_same(const JDAQEventHeader& header) const
59 {
60 return (this->getDetectorID() == header.getDetectorID() &&
61 this->getRunNumber() == header.getRunNumber() &&
62 this->getFrameIndex() == header.getFrameIndex() &&
63 this->getCounter() == header.getCounter());
64 }
65
66
67 /**
68 * Get number of overlays.
69 *
70 * \return number of overlays
71 */
72 unsigned int getOverlays() const
73 {
74 return overlays;
75 }
76
77
79
80
81 protected:
82 unsigned int overlays;
83 };
84
85
86 /**
87 * Equal operator for DAQ event headers.
88 *
89 * \param first event header
90 * \param second event header
91 * \result true if first event header equal to second; else false
92 */
93 inline bool operator==(const JDAQEventHeader& first,
94 const JDAQEventHeader& second)
95 {
96 return (first.getDAQHeader() == second.getDAQHeader() &&
97 first.getDAQTriggerCounter() == second.getDAQTriggerCounter() &&
98 first.getDAQTriggerMask() == second.getDAQTriggerMask());
99 }
100
101
102 /**
103 * Not-equal operator for DAQ event headers.
104 *
105 * \param first event header
106 * \param second event header
107 * \result true if first event header not equal to second; else false
108 */
109 inline bool operator!=(const JDAQEventHeader& first,
110 const JDAQEventHeader& second)
111 {
112 return !(first == second);
113 }
114}
115
116#endif
Interface for binary input.
Interface for binary output.
Template definition of a multi-dimensional oscillation probability interpolation table.
int getDetectorID() const
Get detector identifier.
int getRunNumber() const
Get run number.
int getFrameIndex() const
Get frame index.
ClassDef(JDAQEventHeader, 3)
friend JWriter & operator<<(JWriter &, const JDAQEventHeader &)
Write DAQ event header to output.
friend JReader & operator>>(JReader &, JDAQEventHeader &)
Read DAQ event header from input.
JDAQEventHeader()
Default constructor.
bool is_same(const JDAQEventHeader &header) const
Check if header is same.
const JDAQEventHeader & getDAQEventHeader() const
Get DAQ event header.
unsigned int getOverlays() const
Get number of overlays.
const JDAQHeader & getDAQHeader() const
Get DAQ header.
Definition JDAQHeader.hh:49
Auxiliary class to count triggers.
JTriggerCounter_t getCounter() const
Get trigger counter.
const JDAQTriggerCounter & getDAQTriggerCounter() const
Get DAQ trigger counter.
Auxiliary class for trigger mask.
const JDAQTriggerMask & getDAQTriggerMask() const
Get DAQ trigger mask.
bool operator==(const Head &first, const Head &second)
Equal operator.
Definition JHead.hh:1819
bool operator!=(const JTag &first, const JTag &second)
Not equal operator for JTag.
Definition JTag.hh:291
KM3NeT DAQ data structures and auxiliaries.
Definition DataQueue.cc:39
size_t getSizeof< JDAQEventHeader >()
Get size of type.