Jpp  18.5.0
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
JDAQFrameIO.hh
Go to the documentation of this file.
1 #ifndef __JDAQFRAME_IO__
2 #define __JDAQFRAME_IO__
3 
5 
6 #include "JIO/JSerialisable.hh"
7 
8 #include "JDAQ/JDAQHitIO.hh"
9 
10 /**
11  * \author mdejong
12  */
13 namespace KM3NETDAQ {
14 
15  /**
16  * Get size of object.
17  *
18  * \param object DAQ frame
19  * \return number of bytes
20  */
21  inline size_t getSizeof(const JDAQFrame& object)
22  {
23  return sizeof(JDAQFrame::numberOfHits) + object.numberOfHits * sizeof(JDAQHit);
24  }
25 
26 
27  /**
28  * Read DAQ frame from input.
29  *
30  * \param in reader
31  * \param frame DAQ frame
32  * \return reader
33  */
35  {
36  frame.clear();
37 
38  int number_of_hits;
39 
40  in >> number_of_hits;
41 
42  frame.resize(number_of_hits);
43 
44  in.read((char*) frame.buffer, frame.numberOfHits * sizeof(JDAQHit));
45 
46  return in;
47  }
48 
49 
50  /**
51  * Write DAQ frame to output.
52  *
53  * \param out writer
54  * \param frame DAQ frame
55  * \return writer
56  */
57  inline JWriter& operator<<(JWriter& out, const JDAQFrame& frame)
58  {
59  out << frame.numberOfHits;
60 
61  out.write((char*) frame.buffer, frame.numberOfHits * sizeof(JDAQHit));
62 
63  return out;
64  }
65 }
66 
67 #endif
void clear()
Clear data.
Definition: JDAQFrame.hh:154
Interface for binary output.
virtual int read(char *buffer, const int length)=0
Read byte array.
virtual int write(const char *buffer, const int length)=0
Write byte array.
JWriter & operator<<(JWriter &out, const JDAQChronometer &chronometer)
Write DAQ chronometer to output.
void resize(const int number_of_hits)
Resize internal buffer.
Definition: JDAQFrame.hh:273
Hit data structure.
Definition: JDAQHit.hh:34
Data frame.
Definition: JDAQFrame.hh:65
Interface for binary input.
JReader & operator>>(JReader &in, JDAQChronometer &chronometer)
Read DAQ chronometer from input.
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
Definition: JCanberra.sh:48
size_t getSizeof(const JDAQEvent &object)
Get size of object.
Definition: JDAQEventIO.hh:26