Jpp
JDAQHeader.hh
Go to the documentation of this file.
1 #ifndef __JDAQHEADER__
2 #define __JDAQHEADER__
3 
4 #include <ostream>
5 
6 #include "JIO/JSerialisable.hh"
7 #include "JDAQ/JDAQRoot.hh"
9 
10 
11 /**
12  * \author mdejong
13  */
14 
15 namespace KM3NETDAQ {
16 
17  using JIO::JReader;
18  using JIO::JWriter;
19 
20 
21  /**
22  * DAQ header.
23  */
24  class JDAQHeader :
25  public JDAQChronometer
26  {
27  public:
28  /**
29  * Default constructor.
30  */
33  {}
34 
35 
36  /**
37  * Constructor.
38  *
39  * \param chronometer chronometer
40  */
41  JDAQHeader(const JDAQChronometer& chronometer) :
42  JDAQChronometer(chronometer)
43  {}
44 
45 
46  /**
47  * Get DAQ header.
48  *
49  * \return DAQ header
50  */
51  const JDAQHeader& getDAQHeader() const
52  {
53  return static_cast<const JDAQHeader&>(*this);
54  }
55 
56 
57  /**
58  * Set DAQ header.
59  *
60  * \param header DAQ header
61  */
62  void setDAQHeader(const JDAQHeader& header)
63  {
64  static_cast<JDAQHeader&>(*this) = header;
65  }
66 
67 
68  /**
69  * Read DAQ header from input.
70  *
71  * \param in JReader
72  * \param header JDAQHeader
73  * \return JReader
74  */
75  friend inline JReader& operator>>(JReader& in, JDAQHeader& header)
76  {
77  in >> static_cast<JDAQChronometer&>(header);
78 
79  return in;
80  }
81 
82 
83  /**
84  * Write DAQ header to output.
85  *
86  * \param out JWriter
87  * \param header JDAQHeader
88  * \return JWriter
89  */
90  friend inline JWriter& operator<<(JWriter& out, const JDAQHeader& header)
91  {
92  out << static_cast<const JDAQChronometer&>(header);
93 
94  return out;
95  }
96 
97 
98  /**
99  * Get size of object.
100  *
101  * \return number of bytes
102  */
103  static int sizeOf()
104  {
105  return (JDAQChronometer::sizeOf());
106  }
107 
108 
109  ClassDef(JDAQHeader,2);
110  };
111 
112 
113  /**
114  * Equal operator for DAQ headers.
115  *
116  * \param first header
117  * \param second header
118  * \result true if first header equal to second; else false
119  */
120  inline bool operator==(const JDAQHeader& first,
121  const JDAQHeader& second)
122  {
123  return (first.getDAQChronometer() == second.getDAQChronometer());
124  }
125 
126 
127  /**
128  * Not-equal operator for DAQ headers.
129  *
130  * \param first header
131  * \param second header
132  * \result true if first header not equal to second; else false
133  */
134  inline bool operator!=(const JDAQHeader& first,
135  const JDAQHeader& second)
136  {
137  return !(first == second);
138  }
139 }
140 
141 #endif
KM3NETDAQ::JDAQHeader::getDAQHeader
const JDAQHeader & getDAQHeader() const
Get DAQ header.
Definition: JDAQHeader.hh:51
JIO::JReader
Interface for binary input.
Definition: JSerialisable.hh:62
KM3NETDAQ::JDAQHeader::operator<<
friend JWriter & operator<<(JWriter &out, const JDAQHeader &header)
Write DAQ header to output.
Definition: JDAQHeader.hh:90
KM3NETDAQ::JDAQHeader
DAQ header.
Definition: JDAQHeader.hh:24
KM3NETDAQ::JDAQHeader::JDAQHeader
JDAQHeader()
Default constructor.
Definition: JDAQHeader.hh:31
KM3NETDAQ::JDAQHeader::operator>>
friend JReader & operator>>(JReader &in, JDAQHeader &header)
Read DAQ header from input.
Definition: JDAQHeader.hh:75
KM3NETDAQ::JDAQHeader::setDAQHeader
void setDAQHeader(const JDAQHeader &header)
Set DAQ header.
Definition: JDAQHeader.hh:62
JDAQChronometer.hh
KM3NETDAQ::JDAQHeader::ClassDef
ClassDef(JDAQHeader, 2)
JSerialisable.hh
KM3NETDAQ::operator!=
bool operator!=(const JDAQChronometer &first, const JDAQChronometer &second)
Not-equal operator for DAQ chronometers.
Definition: JDAQChronometer.hh:303
JIO::JWriter
Interface for binary output.
Definition: JSerialisable.hh:130
JDAQRoot.hh
KM3NETDAQ::operator==
bool operator==(const JDAQChronometer &first, const JDAQChronometer &second)
Equal operator for DAQ chronometers.
Definition: JDAQChronometer.hh:286
KM3NETDAQ::JDAQHeader::sizeOf
static int sizeOf()
Get size of object.
Definition: JDAQHeader.hh:103
KM3NETDAQ::JDAQChronometer::getDAQChronometer
const JDAQChronometer & getDAQChronometer() const
Get DAQ chronometer.
Definition: JDAQChronometer.hh:88
KM3NETDAQ
KM3NeT DAQ data structures and auxiliaries.
Definition: DataQueue.cc:39
KM3NETDAQ::JDAQHeader::JDAQHeader
JDAQHeader(const JDAQChronometer &chronometer)
Constructor.
Definition: JDAQHeader.hh:41
KM3NETDAQ::JDAQChronometer::sizeOf
static int sizeOf()
Get size of object.
Definition: JDAQChronometer.hh:224
KM3NETDAQ::JDAQChronometer
DAQ chronometer.
Definition: JDAQChronometer.hh:26