RawNanoSliceHeader.h
Go to the documentation of this file.
1 #ifndef RAWNANOSLICEHEADER_H
2 #define RAWNANOSLICEHEADER_H
3 #include "DAQDataFormats/RawNanoSliceHeaderV4.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 RawNanoSliceHeader
15 #define LAST_CLASS_VERSION 4
16 #define CURRENT_FIELDS_SUB_NAMESPACE nanosliceheader
17 #include "DAQDataFormats/DataFormatLast.inc"
18 
19 
20 namespace daqdataformats {
21 
25  }
26 
27  class RawNanoSliceHeader: public PREVIOUS_VERSION_CLASS_NAME{
28  public:
29  // Constructors
31  RawNanoSliceHeader(const daqdataformats::NanoSliceHeader& Header); //! Constructor with Data initialization
32  RawNanoSliceHeader(const RawNanoSliceHeader& copy_in); //! Deep copy constructor
34  /// Destructor
36 
38 
39  /*
40  IMPLEMENT_GET_AND_SET_MAIN(DataPresent, bool);
41  IMPLEMENT_GET_AND_SET_MAIN(LinkStatus , bool);
42  IMPLEMENT_GET_AND_SET_MAIN(DebugMode , bool);
43  IMPLEMENT_GET_MAIN (Version , uint32_t)
44  IMPLEMENT_GET_AND_SET_MAIN(FEBId , uint32_t)
45  IMPLEMENT_GET_AND_SET_MAIN(FEBStatus, uint32_t)
46  IMPLEMENT_GET_AND_SET_MAIN(PixelAddr, uint32_t)
47  IMPLEMENT_GET_AND_SET_MAIN(Sequence , uint32_t)
48  IMPLEMENT_GET_AND_SET_MAIN(Pad3 , uint32_t)
49  IMPLEMENT_GET_AND_SET_MAIN(DAQEnabled , bool)
50  IMPLEMENT_GET_AND_SET_MAIN(BufferEmpty , bool)
51  IMPLEMENT_GET_AND_SET_MAIN(BufferFull , bool)
52  IMPLEMENT_GET_AND_SET_MAIN(CommError , bool)
53  IMPLEMENT_GET_AND_SET_MAIN(PacketError , bool)
54  IMPLEMENT_GET_AND_SET_MAIN(OverflowError, bool)
55  IMPLEMENT_GET_AND_SET_MAIN(ADCError , bool)
56  */
57 
58 
61 
63 
64  protected:
65  //IMPLEMENT_SET_MAIN(Version, uint32_t)
66 
67  void initWithDataInternal();
68  bool setFunctionPointers();
69 
70  private:
71  /// Pointer to NanoSlice Header parameters
72  /// used in init when using Constructor with Data initialization only.
73  /// After that this variable is irrelevant
75 
76  };
77 } // END NAMESPCE daqdataformats
78 #endif /* RAWNANOSLICEHEADER_H */
#define IMPLEMENT_MAIN_STANDARD
Definition: Macros.h:230
::xsd::cxx::tree::buffer< char > buffer
Definition: Database.h:179
std::string Header(std::string label)
Data structure for holding all the nanoslice data of interest.
#define IMPLEMENT_FUNCTION_RETURNING_FUNCTION_POINTER_1PAR(FUNC, CONSTNESS, OUTPUT, INP1)
Definition: Macros.h:183
const XML_Char * version
Definition: expat.h:187
#define IMPLEMENT_FIGUREOUT_VERSION_STATIC(CLASS)
This should be in the header.
Definition: Macros.h:295
int32_t version_t
Definition: RawDAQData.h:72
static const version_t DAQDATAFORMAT_UNKNOWN_VERSION
Definition: RawDAQData.h:81
Class to hold the data from the FEBs in correct formats.
#define IMPLEMENT_VOID_RETURNING_FUNCTION_POINTER_1PAR(FUNC, CONSTNESS, INP1)
Definition: Macros.h:196
#define CURRENT_FIELDS_SUB_NAMESPACE
#define LAST_CLASS_VERSION