Jpp  18.3.1
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  * 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
bool operator==(const JDAQChronometer &first, const JDAQChronometer &second)
Equal operator for DAQ chronometers.
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.