Jpp
JDAQSummarysliceIO.hh
Go to the documentation of this file.
1 #ifndef __JDAQSUMMARYSLICE_IO__
2 #define __JDAQSUMMARYSLICE_IO__
3 
5 
6 #include "JIO/JSerialisable.hh"
7 #include "JIO/JSTDIO.hh"
8 
9 #include "JDAQ/JDAQSizeof.hh"
10 #include "JDAQ/JDAQPreambleIO.hh"
13 
14 /**
15  * \author mdejong
16  */
17 namespace KM3NETDAQ {
18 
19  /**
20  * Get size of object.
21  *
22  * \param object DAQ summary slice
23  * \return number of bytes
24  */
25  inline size_t getSizeof(const JDAQSummaryslice& object)
26  {
27  return (getSizeof<JDAQPreamble>() +
29  getSizeof(static_cast<const std::vector<JDAQSummaryFrame>&>(object)));
30  }
31 
32 
33  /**
34  * Read DAQ summary slice from input.
35  *
36  * \param in reader
37  * \param object DAQ summary slice
38  * \return reader
39  */
41  {
42  object.clear();
43 
44  in >> static_cast<JDAQPreamble&> (object);
45  in >> static_cast<JDAQSummarysliceHeader&> (object);
46  in >> static_cast<std::vector<JDAQSummaryFrame>&>(object);
47 
48  return in;
49  }
50 
51 
52  /**
53  * Write DAQ summary slice to output.
54  *
55  * \param out writer
56  * \param object DAQ summary slice
57  * \return writer
58  */
59  inline JWriter& operator<<(JWriter& out, const JDAQSummaryslice& object)
60  {
61  out << JDAQPreamble::getDAQPreamble(object);
62  out << static_cast<const JDAQSummarysliceHeader&> (object);
63  out << static_cast<const std::vector<JDAQSummaryFrame>&>(object);
64 
65  return out;
66  }
67 }
68 
69 #endif
JIO::JReader::clear
virtual void clear()
Clear status of reader.
Definition: JSerialisable.hh:70
JDAQSummarysliceHeaderIO.hh
JIO::JReader
Interface for binary input.
Definition: JSerialisable.hh:62
JDAQSummaryFrameIO.hh
JDAQSizeof.hh
std::vector< JDAQSummaryFrame >
JDAQPreambleIO.hh
JDAQSummaryslice.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
JSTDIO.hh
JIO::JWriter
Interface for binary output.
Definition: JSerialisable.hh:131
KM3NETDAQ::JDAQSummaryslice
Data summary slice.
Definition: JDAQSummaryslice.hh:25
KM3NETDAQ
KM3NeT DAQ data structures and auxiliaries.
Definition: DataQueue.cc:39
KM3NETDAQ::getSizeof< JDAQSummarysliceHeader >
size_t getSizeof< JDAQSummarysliceHeader >()
Get size of type.
Definition: JDAQSummarysliceHeaderIO.hh:21
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