Jpp  16.0.0-rc.2
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
JDAQSuperFrameHeader.hh
Go to the documentation of this file.
1 #ifndef __JDAQSUPERFRAMEHEADER__
2 #define __JDAQSUPERFRAMEHEADER__
3 
9 
10 
11 /**
12  * \author mdejong
13  */
14 namespace KM3NETDAQ {
15 
16  /**
17  * DAQ super frame header.
18  */
20  public JDAQHeader,
21  public JDAQModuleIdentifier,
22  public JDAQFrameStatus
23  {
24  public:
25 
26  friend size_t getSizeof<JDAQSuperFrameHeader>();
29 
30  /**
31  * Default constructor.
32  */
34  JDAQHeader (),
37  {}
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),
66  JDAQFrameStatus (status)
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  */
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  */
120  const JDAQSuperFrameHeader& second)
121  {
122  return !(first == second);
123  }
124 }
125 
126 #endif
bool operator==(const JDAQChronometer &first, const JDAQChronometer &second)
Equal operator for DAQ chronometers.
Interface for binary output.
static const JDAQFrameStatus & getInstance()
Get reference to unique instance of this class object.
JDAQSuperFrameHeader(const JDAQChronometer &chronometer, const int id, const JDAQFrameStatus &status)
Constructor.
then echo The file $DIR KM3NeT_00000001_00000000 root already please rename or remove it first
void setDAQSuperFrameHeader(const JDAQSuperFrameHeader &header)
Set DAQ super frame header.
JDAQSuperFrameHeader()
Default constructor.
JDAQSuperFrameHeader(const JDAQChronometer &chronometer, const int id)
Constructor.
friend JWriter & operator<<(JWriter &, const JDAQSuperFrameHeader &)
Write DAQ super frame header to output.
friend JReader & operator>>(JReader &, JDAQSuperFrameHeader &)
Read DAQ super frame header from input.
Interface for binary input.
const JDAQHeader & getDAQHeader() const
Get DAQ header.
Definition: JDAQHeader.hh:49
const JDAQSuperFrameHeader & getDAQSuperFrameHeader() const
Get DAQ super frame header.
size_t getSizeof< JDAQSuperFrameHeader >()
Get size of type.
ClassDef(JDAQSuperFrameHeader, 2)
const JDAQModuleIdentifier & getModuleIdentifier() const
Get Module identifier.
KM3NeT DAQ constants, bit handling, etc.
bool operator!=(const JDAQChronometer &first, const JDAQChronometer &second)
Not-equal operator for DAQ chronometers.
const JDAQFrameStatus & getDAQFrameStatus() const
Get DAQ frame status.