Monarch  v3.8.2
Project 8 Data File Format Library
M2Types.hh
Go to the documentation of this file.
1 #ifndef M2_TYPES_HH
2 #define M2_TYPES_HH
3 
4 #include <inttypes.h>
5 #include <string>
6 
7 
8 namespace monarch2
9 {
10  typedef uint8_t byte_type;
11 
12 
13  template<typename T, typename U>
14  struct is_same
15  {
16  static const bool value = false;
17  };
18 
19  template<typename T>
20  struct is_same<T,T> //specialization
21  {
22  static const bool value = true;
23  };
24 
25  template<bool> struct staticassert;
26  template<> struct staticassert<true> {}; //specialization
27 
28  typedef size_t PreludeType;
29 
30  typedef uint32_t AccessModeType;
31  static const AccessModeType sAccessRead = 0;
32  static const AccessModeType sAccessWrite = 1;
33 
34  typedef uint32_t InterfaceModeType;
35  static const AccessModeType sInterfaceInterleaved = 0;
36  static const AccessModeType sInterfaceSeparate = 1;
37 
38  typedef uint32_t AcquisitionModeType;
39  static const AcquisitionModeType sOneChannel = 1;
40  static const AcquisitionModeType sTwoChannel = 2;
41 
42  typedef uint32_t RunType;
43  static const RunType sRunTypeSignal = 0;
44  static const RunType sRunTypeBackground = 1;
45  static const RunType sRunTypeOther = 999;
46 
47  typedef uint32_t RunSourceType;
48  static const RunSourceType sSourceMantis = 0;
49  static const RunSourceType sSourceSimulation = 1;
50 
51  typedef uint32_t FormatModeType;
52  static const FormatModeType sFormatSingle = 0;
53  static const FormatModeType sFormatMultiSeparate = 1;
54  static const FormatModeType sFormatMultiInterleaved = 2;
55 
56  // re-typdefing for aesthetic purposes
57  typedef uint64_t AcquisitionIdType; // 8 bytes
58  typedef uint64_t RecordIdType; // 8 bytes
59  typedef uint64_t TimeType; // 8 bytes
60 
61 }
62 
63 #endif // __MONARCH_TYPES_HH
static const AccessModeType sAccessRead
Definition: M2Types.hh:31
static const RunType sRunTypeSignal
Definition: M2Types.hh:43
static const FormatModeType sFormatSingle
Definition: M2Types.hh:52
static const RunType sRunTypeOther
Definition: M2Types.hh:45
uint32_t AcquisitionModeType
Definition: M2Types.hh:38
uint32_t FormatModeType
Definition: M2Types.hh:51
static const RunSourceType sSourceSimulation
Definition: M2Types.hh:49
uint32_t InterfaceModeType
Definition: M2Types.hh:34
static const RunSourceType sSourceMantis
Definition: M2Types.hh:48
static const AcquisitionModeType sOneChannel
Definition: M2Types.hh:39
uint32_t AccessModeType
Definition: M2Types.hh:30
size_t PreludeType
Definition: M2Types.hh:28
static const FormatModeType sFormatMultiSeparate
Definition: M2Types.hh:53
static const AccessModeType sAccessWrite
Definition: M2Types.hh:32
static const bool value
Definition: M2Types.hh:16
static const AcquisitionModeType sTwoChannel
Definition: M2Types.hh:40
uint64_t AcquisitionIdType
Definition: M2Types.hh:57
uint32_t RunSourceType
Definition: M2Types.hh:47
uint32_t RunType
Definition: M2Types.hh:42
static const RunType sRunTypeBackground
Definition: M2Types.hh:44
uint8_t byte_type
Definition: M2Types.hh:10
static const AccessModeType sInterfaceInterleaved
Definition: M2Types.hh:35
static const FormatModeType sFormatMultiInterleaved
Definition: M2Types.hh:54
static const AccessModeType sInterfaceSeparate
Definition: M2Types.hh:36
uint64_t RecordIdType
Definition: M2Types.hh:58
uint64_t TimeType
Definition: M2Types.hh:59