Jpp
JDAQSuperFrameHeader.hh
Go to the documentation of this file.
1 #ifndef __JDAQSUPERFRAMEHEADER__
2 #define __JDAQSUPERFRAMEHEADER__
3 
4 #include "JDAQ.hh"
5 #include "JDAQHeader.hh"
7 #include "JDAQFrameStatus.hh"
8 #include "JDAQRoot.hh"
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),
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
JDAQ.hh
KM3NETDAQ::JDAQHeader::getDAQHeader
const JDAQHeader & getDAQHeader() const
Get DAQ header.
Definition: JDAQHeader.hh:49
JIO::JReader
Interface for binary input.
Definition: JSerialisable.hh:62
KM3NETDAQ::JDAQSuperFrameHeader::JDAQSuperFrameHeader
JDAQSuperFrameHeader(const JDAQChronometer &chronometer, const int id)
Constructor.
Definition: JDAQSuperFrameHeader.hh:46
KM3NETDAQ::JDAQSuperFrameHeader::operator<<
friend JWriter & operator<<(JWriter &, const JDAQSuperFrameHeader &)
Write DAQ super frame header to output.
Definition: JDAQSuperFrameHeaderIO.hh:56
KM3NETDAQ::JDAQHeader
DAQ header.
Definition: JDAQHeader.hh:17
KM3NETDAQ::JDAQFrameStatus
DAQ frame status.
Definition: JDAQFrameStatus.hh:17
KM3NETDAQ::JDAQSuperFrameHeader::getDAQSuperFrameHeader
const JDAQSuperFrameHeader & getDAQSuperFrameHeader() const
Get DAQ super frame header.
Definition: JDAQSuperFrameHeader.hh:75
KM3NETDAQ::JDAQModuleIdentifier::id
int id
Definition: JDAQModuleIdentifier.hh:112
KM3NETDAQ::JDAQModuleIdentifier::getModuleIdentifier
const JDAQModuleIdentifier & getModuleIdentifier() const
Get Module identifier.
Definition: JDAQModuleIdentifier.hh:50
KM3NETDAQ::operator!=
bool operator!=(const JDAQChronometer &first, const JDAQChronometer &second)
Not-equal operator for DAQ chronometers.
Definition: JDAQChronometer.hh:253
KM3NETDAQ::JDAQSuperFrameHeader::operator>>
friend JReader & operator>>(JReader &, JDAQSuperFrameHeader &)
Read DAQ super frame header from input.
Definition: JDAQSuperFrameHeaderIO.hh:39
JIO::JWriter
Interface for binary output.
Definition: JSerialisable.hh:131
JDAQHeader.hh
KM3NETDAQ::JDAQModuleIdentifier
Module identifier.
Definition: JDAQModuleIdentifier.hh:19
KM3NETDAQ::JDAQSuperFrameHeader
DAQ super frame header.
Definition: JDAQSuperFrameHeader.hh:19
JDAQRoot.hh
KM3NETDAQ::JDAQFrameStatus::getInstance
static const JDAQFrameStatus & getInstance()
Get reference to unique instance of this class object.
Definition: JDAQFrameStatus.hh:65
KM3NETDAQ::operator==
bool operator==(const JDAQChronometer &first, const JDAQChronometer &second)
Equal operator for DAQ chronometers.
Definition: JDAQChronometer.hh:236
JDAQFrameStatus.hh
KM3NETDAQ::JDAQSuperFrameHeader::JDAQSuperFrameHeader
JDAQSuperFrameHeader()
Default constructor.
Definition: JDAQSuperFrameHeader.hh:33
KM3NETDAQ::JDAQSuperFrameHeader::ClassDef
ClassDef(JDAQSuperFrameHeader, 2)
KM3NETDAQ::JDAQFrameStatus::status
int status
Definition: JDAQFrameStatus.hh:331
KM3NETDAQ::getSizeof< JDAQSuperFrameHeader >
size_t getSizeof< JDAQSuperFrameHeader >()
Get size of type.
Definition: JDAQSuperFrameHeaderIO.hh:24
KM3NETDAQ
KM3NeT DAQ data structures and auxiliaries.
Definition: DataQueue.cc:39
KM3NETDAQ::JDAQSuperFrameHeader::JDAQSuperFrameHeader
JDAQSuperFrameHeader(const JDAQChronometer &chronometer, const int id, const JDAQFrameStatus &status)
Constructor.
Definition: JDAQSuperFrameHeader.hh:61
JDAQModuleIdentifier.hh
KM3NETDAQ::JDAQFrameStatus::getDAQFrameStatus
const JDAQFrameStatus & getDAQFrameStatus() const
Get DAQ frame status.
Definition: JDAQFrameStatus.hh:80
KM3NETDAQ::JDAQChronometer
DAQ chronometer.
Definition: JDAQChronometer.hh:21
KM3NETDAQ::JDAQSuperFrameHeader::setDAQSuperFrameHeader
void setDAQSuperFrameHeader(const JDAQSuperFrameHeader &header)
Set DAQ super frame header.
Definition: JDAQSuperFrameHeader.hh:86