Jpp  18.0.0-rc.3
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
JDAQEventHeader.hh
Go to the documentation of this file.
1 #ifndef __JDAQEVENTHEADER__
2 #define __JDAQEVENTHEADER__
3 
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
JDAQTriggerMask()
Default constructor.
bool operator==(const JDAQChronometer &first, const JDAQChronometer &second)
Equal operator for DAQ chronometers.
JDAQEventHeader(const JDAQChronometer &chronometer, const JDAQTriggerMask &mask=JDAQTriggerMask())
Constructor.
Interface for binary output.
Auxiliary class for trigger mask.
int getDetectorID() const
Get detector identifier.
int getRunNumber() const
Get run number.
then echo The file $DIR KM3NeT_00000001_00000000 root already please rename or remove it first
int getFrameIndex() const
Get frame index.
friend JReader & operator>>(JReader &, JDAQEventHeader &)
Read DAQ event header from input.
unsigned int getOverlays() const
Get number of overlays.
size_t getSizeof< JDAQEventHeader >()
Get size of type.
friend JWriter & operator<<(JWriter &, const JDAQEventHeader &)
Write DAQ event header to output.
Interface for binary input.
JDAQEventHeader()
Default constructor.
ClassDef(JDAQEventHeader, 3)
const JDAQHeader & getDAQHeader() const
Get DAQ header.
Definition: JDAQHeader.hh:49
Auxiliary class to count triggers.
bool is_same(const JDAQEventHeader &header) const
Check if header is same.
const JDAQTriggerCounter & getDAQTriggerCounter() const
Get DAQ trigger counter.
bool operator!=(const JDAQChronometer &first, const JDAQChronometer &second)
Not-equal operator for DAQ chronometers.
const JDAQEventHeader & getDAQEventHeader() const
Get DAQ event header.
JTriggerCounter_t getCounter() const
Get trigger counter.
const JDAQTriggerMask & getDAQTriggerMask() const
Get DAQ trigger mask.