CMS 3D CMS Logo

fed_trailer.h
Go to the documentation of this file.
1 #ifndef DataFormats_FEDRawData_fed_trailer_h
2 #define DataFormats_FEDRawData_fed_trailer_h
3 
4 #include <cstdint>
5 
6 #ifdef __cplusplus
7 extern "C" {
8 #endif
9 
10 
11 /*************************************************************************
12  *
13  * data structures and associated typedefs
14  *
15  *************************************************************************/
16 
17 
18 /*
19  * FED trailer - at the end of each FED block
20  */
21 
22 typedef struct fedt_struct {
23  uint32_t conscheck;
24  uint32_t eventsize;
25 } fedt_t ;
26 
27 #define FED_SLINK_END_MARKER 0xa
28 
29 #define FED_TCTRLID_WIDTH 0x0000000f
30 #define FED_TCTRLID_SHIFT 28
31 #define FED_TCTRLID_MASK ( FED_TCTRLID_WIDTH << FED_TCTRLID_SHIFT )
32 #define FED_TCTRLID_EXTRACT(a) ( ( (a) >> FED_TCTRLID_SHIFT ) & FED_TCTRLID_WIDTH )
33 
34 #define FED_EVSZ_WIDTH 0x00ffffff
35 #define FED_EVSZ_SHIFT 0
36 #define FED_EVSZ_MASK ( FED_EVSZ_WIDTH << FED_EVSZ_SHIFT )
37 #define FED_EVSZ_EXTRACT(a) ( ( (a) >> FED_EVSZ_SHIFT ) & FED_EVSZ_WIDTH )
38 
39 #define FED_CRCS_WIDTH 0x0000ffff
40 #define FED_CRCS_SHIFT 16
41 #define FED_CRCS_MASK ( FED_CRCS_WIDTH << FED_CRCS_SHIFT )
42 #define FED_CRCS_EXTRACT(a) ( ( (a) >> FED_CRCS_SHIFT ) & FED_CRCS_WIDTH )
43 
44 #define FED_STAT_WIDTH 0x0000000f
45 #define FED_STAT_SHIFT 8
46 #define FED_STAT_MASK ( FED_STAT_WIDTH << FED_STAT_SHIFT )
47 #define FED_STAT_EXTRACT(a) ( ( (a) >> FED_STAT_SHIFT ) & FED_STAT_WIDTH )
48 
49 #define FED_TTSI_WIDTH 0x0000000f
50 #define FED_TTSI_SHIFT 4
51 #define FED_TTSI_MASK ( FED_TTSI_WIDTH << FED_TTSI_SHIFT )
52 #define FED_TTSI_EXTRACT(a) ( ( (a) >> FED_TTSI_SHIFT ) & FED_TTSI_WIDTH )
53 
54 #define FED_MORE_TRAILERS_WIDTH 0x00000001
55 #define FED_MORE_TRAILERS_SHIFT 3
56 #define FED_MORE_TRAILERS_MASK ( FED_MORE_TRAILERS_WIDTH << FED_MORE_TRAILERS_SHIFT )
57 #define FED_MORE_TRAILERS_EXTRACT(a) ( ( (a) >> FED_MORE_TRAILERS_SHIFT ) & FED_MORE_TRAILERS_WIDTH )
58 
59 #define FED_CRC_MODIFIED_WIDTH 0x00000001
60 #define FED_CRC_MODIFIED_SHIFT 2
61 #define FED_CRC_MODIFIED_MASK ( FED_CRC_MODIFIED_WIDTH << FED_CRC_MODIFIED_SHIFT )
62 #define FED_CRC_MODIFIED_EXTRACT(a) ( ( (a) >> FED_CRC_MODIFIED_SHIFT ) & FED_CRC_MODIFIED_WIDTH )
63 
64 #define FED_SLINK_ERROR_WIDTH 0x00000001
65 #define FED_SLINK_ERROR_SHIFT 14
66 #define FED_SLINK_ERROR_MASK ( FED_SLINK_ERROR_WIDTH << FED_SLINK_ERROR_SHIFT )
67 #define FED_SLINK_ERROR_EXTRACT(a) ( ( (a) >> FED_SLINK_ERROR_SHIFT ) & FED_SLINK_ERROR_WIDTH )
68 
69 #define FED_WRONG_FEDID_WIDTH 0x00000001
70 #define FED_WRONG_FEDID_SHIFT 15
71 #define FED_WRONG_FEDID_MASK ( FED_WRONG_FEDID_WIDTH << FED_WRONG_FEDID_SHIFT )
72 #define FED_WRONG_FEDID_EXTRACT(a) ( ( (a) >> FED_WRONG_FEDID_SHIFT ) & FED_WRONG_FEDID_WIDTH )
73 
74 #ifdef __cplusplus
75 }
76 #endif
77 
78 #endif // DataFormats_FEDRawData_fed_trailer_h
struct fedt_struct fedt_t
uint32_t eventsize
Definition: fed_trailer.h:24
uint32_t conscheck
Definition: fed_trailer.h:23