Jpp  15.0.0
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
KM3NETDAQ::JDAQPreamble Class Reference

DAQ preamble. More...

#include <JDAQPreamble.hh>

Inheritance diagram for KM3NETDAQ::JDAQPreamble:
KM3NETDAQ::JDAQAbstractPreamble TObject KM3NETDAQ::JDAQEvent KM3NETDAQ::JDAQSummaryslice KM3NETDAQ::JDAQSuperFrame KM3NETDAQ::JDAQTimeslice JTRIGGER::JTriggeredEvent KM3NETDAQ::JSummaryslice KM3NETDAQ::JDAQTimesliceL0 KM3NETDAQ::JDAQTimesliceL1 KM3NETDAQ::JDAQTimesliceL2 KM3NETDAQ::JDAQTimesliceSN JTRIGGER::JSummaryRouter KM3NETDAQ::JTimesliceL0 KM3NETDAQ::JEventTimeslice KM3NETDAQ::JRandomTimeslice

Public Member Functions

 JDAQPreamble ()
 Default constructor. More...
 
virtual ~JDAQPreamble ()
 Virtual destructor. More...
 
 ClassDef (JDAQPreamble, 1)
 
int getLength () const
 Get length. More...
 
int getDataType () const
 Get data type. More...
 
 ClassDefNV (JDAQAbstractPreamble, 1)
 

Static Public Member Functions

template<class T >
static JDAQPreamble getDAQPreamble (const T &object)
 Get DAQ preamble. More...
 

Protected Member Functions

template<class T >
 JDAQPreamble (const JDAQType< T > &type)
 Constructor. More...
 

Protected Attributes

int length
 
int type
 

Friends

size_t getSizeof ()
 Definition of method to get size of data type. More...
 
JReaderoperator>> (JReader &, JDAQPreamble &)
 Read DAQ preamble from input. More...
 
JWriteroperator<< (JWriter &, const JDAQPreamble &)
 Write DAQ preamble to output. More...
 
std::ostream & operator<< (std::ostream &out, const JDAQPreamble &preamble)
 Print DAQ preamble. More...
 

Detailed Description

DAQ preamble.

The data type is determined by the return value of method getDataType().
This method should be overloaded so that each data type is uniquely mapped to an integer value.

The size and type information of this object can be used for RTTI.

Definition at line 26 of file JDAQPreamble.hh.

Constructor & Destructor Documentation

template<class T >
KM3NETDAQ::JDAQPreamble::JDAQPreamble ( const JDAQType< T > &  type)
inlineprotected

Constructor.

Parameters
typedata type of derived class

Definition at line 38 of file JDAQPreamble.hh.

38  :
40  {}
JDAQAbstractPreamble()
Default constuctor.
KM3NETDAQ::JDAQPreamble::JDAQPreamble ( )
inline

Default constructor.

Definition at line 51 of file JDAQPreamble.hh.

51  :
53  {}
JDAQAbstractPreamble()
Default constuctor.
virtual KM3NETDAQ::JDAQPreamble::~JDAQPreamble ( )
inlinevirtual

Virtual destructor.

Definition at line 59 of file JDAQPreamble.hh.

60  {}

Member Function Documentation

template<class T >
static JDAQPreamble KM3NETDAQ::JDAQPreamble::getDAQPreamble ( const T object)
inlinestatic

Get DAQ preamble.

This method should be used for binary I/O to get the actual data for the given object.
To this end, the following method should be overloaded for the corresponding data type.

   size_t  getSizeof(const T&);
Parameters
objectobject
Returns
preamble

Definition at line 76 of file JDAQPreamble.hh.

77  {
78  static JDAQPreamble preamble;
79 
80  preamble.length = getSizeof(object);
81  preamble.type = KM3NETDAQ::getDataType<T>();
82 
83  return preamble;
84  }
friend size_t getSizeof()
Definition of method to get size of data type.
KM3NETDAQ::JDAQPreamble::ClassDef ( JDAQPreamble  ,
 
)
int KM3NETDAQ::JDAQAbstractPreamble::getLength ( ) const
inlineinherited

Get length.

Returns
number of bytes

Definition at line 49 of file JDAQAbstractPreamble.hh.

50  {
51  return length;
52  }
int KM3NETDAQ::JDAQAbstractPreamble::getDataType ( ) const
inlineinherited

Get data type.

Returns
data type

Definition at line 60 of file JDAQAbstractPreamble.hh.

61  {
62  return type;
63  }
KM3NETDAQ::JDAQAbstractPreamble::ClassDefNV ( JDAQAbstractPreamble  ,
 
)
inherited

Friends And Related Function Documentation

size_t getSizeof ( )
friend

Definition of method to get size of data type.

This method should be specialised for each desired data type with fixed length.

Returns
number of bytes
JReader& operator>> ( JReader in,
JDAQPreamble preamble 
)
friend

Read DAQ preamble from input.

Note that JDAQAbstractPreamble::length is read first.

Parameters
inreader
preambleDAQ preamble
Returns
reader

Definition at line 35 of file JDAQPreambleIO.hh.

36  {
37  in >> preamble.length;
38  in >> preamble.type;
39 
40  return in;
41  }
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 source JAcoustics sh $DETECTOR_ID CHECK_EXIT_CODE typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
Definition: JCanberra.sh:41
JWriter& operator<< ( JWriter out,
const JDAQPreamble preamble 
)
friend

Write DAQ preamble to output.

Note that JDAQPreamble::getSize() is written first.

Parameters
outwriter
preambleDAQ preamble
Returns
writer

Definition at line 53 of file JDAQPreambleIO.hh.

54  {
55  out << preamble.length;
56  out << preamble.type;
57 
58  return out;
59  }
std::ostream& operator<< ( std::ostream &  out,
const JDAQPreamble preamble 
)
friend

Print DAQ preamble.

Parameters
outoutput stream
preambleJDAQPreamble
Returns
output stream

Definition at line 94 of file JDAQPreamble.hh.

95  {
96  using namespace std;
97 
98  out << setw(8) << preamble.length;
99  out << ' ';
100  out << setw(6) << preamble.type;
101 
102  return out;
103  }

Member Data Documentation

int KM3NETDAQ::JDAQAbstractPreamble::length
protectedinherited

Definition at line 69 of file JDAQAbstractPreamble.hh.

int KM3NETDAQ::JDAQAbstractPreamble::type
protectedinherited

Definition at line 70 of file JDAQAbstractPreamble.hh.


The documentation for this class was generated from the following file: