RawMicroSliceHeader.h
Go to the documentation of this file.
1 #ifndef RAWMICROSLICEHEADER_H
2 #define RAWMICROSLICEHEADER_H
3 #include "DAQDataFormats/RawMicroSliceHeaderV1.h"
4 
5 /// It is requred to
6 /// 1. include DAQDataFormats/DataFormatFirst.inc
7 /// 2. define CURRENT_CLASS
8 /// 3. define CURRENT_CLASS_VERSION for version of the class
9 /// OR define LAST_CLASS_VERSION for the main structure of the class
10 /// 4. (optional) define CURRENT_FIELDS_SUB_NAMESPACE
11 /// 5. include DAQDataFormats/DataFormatLast.inc
12 /// before the declaration of the DataFormat version class in the header.
13 #include "DAQDataFormats/DataFormatFirst.inc"
14 #define CURRENT_CLASS RawMicroSliceHeader
15 #define LAST_CLASS_VERSION 1
16 #define CURRENT_FIELDS_SUB_NAMESPACE rawmuhdr
17 #include "DAQDataFormats/DataFormatLast.inc"
18 
19 namespace daqdataformats{
20  class RawMicroSlice;
21 }
22 
23 
24 namespace daqdataformats {
25 
29  }
30 
31  class RawMicroSliceHeader: public PREVIOUS_VERSION_CLASS_NAME {
32 
33  public:
34  /// Constructors
36  RawMicroSliceHeader(const RawMicroSliceHeader&); ///! Deep copy constructor
37  RawMicroSliceHeader(const void* microsliceheader_buffer
38  ,const version_t version = rawdaqdataformat::DAQDATAFORMAT_UNKNOWN_VERSION); ///! Shallow copy constructor
39  /// Destructor
41 
42  IMPLEMENT_GET_AND_SET_MAIN(Extra , uint32_t);
43  IMPLEMENT_GET_AND_SET_MAIN(Status, uint32_t);
44 
45  bool setVersion(const version_t);
46 
48 
49  protected:
50  bool setFunctionPointers();
51  /// Don't change the field
52  bool setVersionSoft(const version_t);
53 
54  friend class RawMicroSlice;
55  };
56 
57 
58 } // END NAMESPCE daqdataformats
59 #endif /* RAWMICROSLICEHEADER_H */
#define LAST_CLASS_VERSION
const XML_Char * version
Definition: expat.h:187
#define CURRENT_FIELDS_SUB_NAMESPACE
#define IMPLEMENT_FIGUREOUT_VERSION_STATIC(CLASS)
This should be in the header.
Definition: Macros.h:295
Class to hold the MicroSlice data.
Definition: RawMicroSlice.h:48
int32_t version_t
Definition: RawDAQData.h:72
#define IMPLEMENT_GET_AND_SET_MAIN(FUNC, UNITS)
Definition: Macros.h:217
static const version_t DAQDATAFORMAT_UNKNOWN_VERSION
Definition: RawDAQData.h:81
Class to hold the data from the FEBs in correct formats.