Jpp 19.3.0-rc.3
the software that should make you happy
Loading...
Searching...
No Matches
JDAQSuperFrameHeader.hh
Go to the documentation of this file.
1#ifndef __JDAQSUPERFRAMEHEADER__
2#define __JDAQSUPERFRAMEHEADER__
3
9
10
11/**
12 * \author mdejong
13 */
14namespace KM3NETDAQ {
15
16 /**
17 * DAQ super frame header.
18 */
20 public JDAQHeader,
22 public JDAQFrameStatus
23 {
24 public:
25
29
30 /**
31 * Default constructor.
32 */
38
39
40 /**
41 * Constructor.
42 *
43 * \param chronometer chronometer
44 * \param id module identifier
45 */
47 const int id) :
48 JDAQHeader (chronometer),
51 {}
52
53
54 /**
55 * Constructor.
56 *
57 * \param chronometer chronometer
58 * \param id module identifier
59 * \param status frame status
60 */
62 const int id,
63 const JDAQFrameStatus& status) :
64 JDAQHeader (chronometer),
67 {}
68
69
70 /**
71 * Get DAQ super frame header.
72 *
73 * \return DAQ super frame header
74 */
76 {
77 return static_cast<const JDAQSuperFrameHeader&>(*this);
78 }
79
80
81 /**
82 * Set DAQ super frame header.
83 *
84 * \param header DAQ super frame header
85 */
87 {
88 static_cast<JDAQSuperFrameHeader&>(*this) = header;
89 }
90
91
93 };
94
95
96 /**
97 * Equal operator for DAQ super frame headers.
98 *
99 * \param first super frame header
100 * \param second super frame header
101 * \result true if first super frame header equal to second; else false
102 */
103 inline bool operator==(const JDAQSuperFrameHeader& first,
104 const JDAQSuperFrameHeader& second)
105 {
106 return (first.getDAQHeader() == second.getDAQHeader() &&
107 first.getModuleIdentifier() == second.getModuleIdentifier() &&
108 first.getDAQFrameStatus() == second.getDAQFrameStatus());
109 }
110
111
112 /**
113 * Not-equal operator for DAQ super frame headers.
114 *
115 * \param first super frame header
116 * \param second super frame header
117 * \result true if first super frame header not equal to second; else false
118 */
119 inline bool operator!=(const JDAQSuperFrameHeader& first,
120 const JDAQSuperFrameHeader& second)
121 {
122 return !(first == second);
123 }
124}
125
126#endif
KM3NeT DAQ constants, bit handling, etc.
Interface for binary input.
Interface for binary output.
const JDAQFrameStatus & getDAQFrameStatus() const
Get DAQ frame status.
static const JDAQFrameStatus & getInstance()
Get reference to unique instance of this class object.
const JDAQHeader & getDAQHeader() const
Get DAQ header.
Definition JDAQHeader.hh:49
const JDAQModuleIdentifier & getModuleIdentifier() const
Get Module identifier.
friend JReader & operator>>(JReader &, JDAQSuperFrameHeader &)
Read DAQ super frame header from input.
const JDAQSuperFrameHeader & getDAQSuperFrameHeader() const
Get DAQ super frame header.
JDAQSuperFrameHeader(const JDAQChronometer &chronometer, const int id, const JDAQFrameStatus &status)
Constructor.
void setDAQSuperFrameHeader(const JDAQSuperFrameHeader &header)
Set DAQ super frame header.
ClassDef(JDAQSuperFrameHeader, 2)
friend JWriter & operator<<(JWriter &, const JDAQSuperFrameHeader &)
Write DAQ super frame header to output.
JDAQSuperFrameHeader()
Default constructor.
JDAQSuperFrameHeader(const JDAQChronometer &chronometer, const int id)
Constructor.
bool operator==(const Head &first, const Head &second)
Equal operator.
Definition JHead.hh:1801
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< JDAQSuperFrameHeader >()
Get size of type.