Jpp
JDAQSuperFrameIO.hh
Go to the documentation of this file.
1 #ifndef __JDAQSUPERFRAME_IO__
2 #define __JDAQSUPERFRAME_IO__
3 
5 
6 #include "JIO/JSerialisable.hh"
7 
8 #include "JDAQ/JDAQPreambleIO.hh"
10 #include "JDAQ/JDAQFrameIO.hh"
11 
12 /**
13  * \author mdejong
14  */
15 namespace KM3NETDAQ {
16 
17  /**
18  * Get size of object.
19  *
20  * \param object DAQ super frame
21  * \return number of bytes
22  */
23  inline size_t getSizeof(const JDAQSuperFrame& object)
24  {
25  return (getSizeof<JDAQPreamble>() +
27  getSizeof(static_cast<const JDAQFrame&>(object)));
28  }
29 
30 
31  /**
32  * Read JDAQ super frame from input.
33  *
34  * \param in reader
35  * \param object DAQ super frame
36  * \return reader
37  */
38  inline JReader& operator>>(JReader& in, JDAQSuperFrame& object)
39  {
40  in >> static_cast<JDAQPreamble&> (object);
41  in >> static_cast<JDAQSuperFrameHeader&>(object);
42  in >> static_cast<JDAQFrame&> (object);
43 
44  return in;
45  }
46 
47 
48  /**
49  * Write JDAQSuperFrame to output.
50  *
51  * \param out writer
52  * \param object DAQ super frame
53  * \return writer
54  */
55  inline JWriter& operator<<(JWriter& out, const JDAQSuperFrame& object)
56  {
57  out << JDAQPreamble::getDAQPreamble(object);
58  out << static_cast<const JDAQSuperFrameHeader&>(object);
59  out << static_cast<const JDAQFrame&> (object);
60 
61  return out;
62  }
63 }
64 
65 #endif
JIO::JReader
Interface for binary input.
Definition: JSerialisable.hh:62
JDAQPreambleIO.hh
JDAQSuperFrameHeaderIO.hh
KM3NETDAQ::operator>>
JReader & operator>>(JReader &in, JDAQChronometer &chronometer)
Read DAQ chronometer from input.
Definition: JDAQChronometerIO.hh:37
KM3NETDAQ::getSizeof
size_t getSizeof(const JDAQEvent &object)
Get size of object.
Definition: JDAQEventIO.hh:26
JSerialisable.hh
JIO::JWriter
Interface for binary output.
Definition: JSerialisable.hh:131
JDAQFrameIO.hh
KM3NETDAQ::getSizeof< JDAQSuperFrameHeader >
size_t getSizeof< JDAQSuperFrameHeader >()
Get size of type.
Definition: JDAQSuperFrameHeaderIO.hh:24
JDAQSuperFrame.hh
KM3NETDAQ
KM3NeT DAQ data structures and auxiliaries.
Definition: DataQueue.cc:39
KM3NETDAQ::JDAQSuperFrame
Data frame of one optical module.
Definition: JDAQSuperFrame.hh:22
KM3NETDAQ::getSizeof< JDAQPreamble >
size_t getSizeof< JDAQPreamble >()
Get size of type.
Definition: JDAQPreambleIO.hh:19
KM3NETDAQ::JDAQPreamble::getDAQPreamble
static JDAQPreamble getDAQPreamble(const T &object)
Get DAQ preamble.
Definition: JDAQPreamble.hh:76
KM3NETDAQ::operator<<
JWriter & operator<<(JWriter &out, const JDAQChronometer &chronometer)
Write DAQ chronometer to output.
Definition: JDAQChronometerIO.hh:55