File indexing completed on 2024-04-06 12:04:07
0001 #ifndef DataFormats_FEDRawData_fed_header_h
0002 #define DataFormats_FEDRawData_fed_header_h
0003
0004 #include <cstdint>
0005
0006 #ifdef __cplusplus
0007 extern "C" {
0008 #endif
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020 typedef struct fedh_struct {
0021 uint32_t sourceid;
0022 uint32_t eventid;
0023 } fedh_t;
0024
0025 #define FED_SLINK_START_MARKER 0x5
0026
0027 #define FED_HCTRLID_WIDTH 0x0000000f
0028 #define FED_HCTRLID_SHIFT 28
0029 #define FED_HCTRLID_MASK (FED_HCTRLID_WIDTH << FED_HCTRLID_SHIFT)
0030 #define FED_HCTRLID_EXTRACT(a) (((a) >> FED_HCTRLID_SHIFT) & FED_HCTRLID_WIDTH)
0031
0032 #define FED_EVTY_WIDTH 0x0000000f
0033 #define FED_EVTY_SHIFT 24
0034 #define FED_EVTY_MASK (FED_EVTY_WIDTH << FED_EVTY_SHIFT)
0035 #define FED_EVTY_EXTRACT(a) (((a) >> FED_EVTY_SHIFT) & FED_EVTY_WIDTH)
0036
0037 #define FED_LVL1_WIDTH 0x00ffffff
0038 #define FED_LVL1_SHIFT 0
0039 #define FED_LVL1_MASK (FED_LVL1_WIDTH << FED_LVL1_SHIFT)
0040 #define FED_LVL1_EXTRACT(a) (((a) >> FED_LVL1_SHIFT) & FED_LVL1_WIDTH)
0041
0042 #define FED_BXID_WIDTH 0x00000fff
0043 #define FED_BXID_SHIFT 20
0044 #define FED_BXID_MASK (FED_BXID_WIDTH << FED_BXID_SHIFT)
0045 #define FED_BXID_EXTRACT(a) (((a) >> FED_BXID_SHIFT) & FED_BXID_WIDTH)
0046
0047 #define FED_SOID_WIDTH 0x00000fff
0048 #define FED_SOID_SHIFT 8
0049 #define FED_SOID_MASK (FED_SOID_WIDTH << FED_SOID_SHIFT)
0050 #define FED_SOID_EXTRACT(a) (((a) >> FED_SOID_SHIFT) & FED_SOID_WIDTH)
0051
0052 #define FED_VERSION_WIDTH 0x0000000f
0053 #define FED_VERSION_SHIFT 4
0054 #define FED_VERSION_MASK (FED_VERSION_WIDTH << FED_VERSION_SHIFT)
0055 #define FED_VERSION_EXTRACT(a) (((a) >> FED_VERSION_SHIFT) & FED_VERSION_WIDTH)
0056
0057 #define FED_MORE_HEADERS_WIDTH 0x00000001
0058 #define FED_MORE_HEADERS_SHIFT 3
0059 #define FED_MORE_HEADERS_MASK (FED_MORE_HEADERS_WIDTH << FED_MORE_HEADERS_SHIFT)
0060 #define FED_MORE_HEADERS_EXTRACT(a) (((a) >> FED_MORE_HEADERS_SHIFT) & FED_MORE_HEADERS_WIDTH)
0061
0062 #ifdef __cplusplus
0063 }
0064 #endif
0065
0066 #endif