File indexing completed on 2025-03-10 00:36:54
0001 #ifndef DataFormats_HGCalDigi_HGCalRawDataDefinitions_h
0002 #define DataFormats_HGCalDigi_HGCalRawDataDefinitions_h
0003
0004 #include <cstdint> // for uint8_t
0005
0006 namespace hgcal {
0007 namespace econd {
0008 namespace ToTStatus {
0009 constexpr uint8_t ZeroSuppressed = 0x0, noZeroSuppressed_TOASuppressed = 0x1, invalid = 0x2, AutomaticFull = 0x3;
0010 }
0011 }
0012
0013 namespace backend {
0014 namespace ECONDPacketStatus {
0015 constexpr uint8_t Normal = 0x0, PayloadTooLarge = 0x1, PayloadCRCError = 0x2, EventIDMismatch = 0x3,
0016 EBTimeout = 0x4, BCIDOrbitIDMismatch = 0x5, MainBufferOverflow = 0x6, InactiveECOND = 0x7,
0017 OfflinePayloadCRCError = 0x8;
0018 }
0019 }
0020
0021 namespace ECOND_FRAME {
0022 constexpr uint32_t HEADER_POS = 23, HEADER_MASK = 0x1ff, PAYLOAD_POS = 14, PAYLOAD_MASK = 0x1ff, BITP_POS = 13,
0023 BITE_POS = 12, HT_MASK = 0x3, HT_POS = 10, EBO_MASK = 0x3, EBO_POS = 8, BITM_POS = 7,
0024 BITT_POS = 6, EHHAM_MASK = 0x3f, EHHAM_POS = 0, BX_POS = 20, BX_MASK = 0xfff, L1A_POS = 14,
0025 L1A_MASK = 0x3f, ORBIT_POS = 11, ORBIT_MASK = 0x7, BITS_POS = 10, RR_MASK = 0x3, RR_POS = 8,
0026 EHCRC_MASK = 0xff, EHCRC_POS = 0, ERXSTAT_POS = 29, ERXSTAT_MASK = 0x7, ERXHAM_POS = 26,
0027 ERXHAM_MASK = 0x7, ERXFORMAT_POS = 25, ERXFORMAT_MASK = 0x1, COMMONMODE0_POS = 15,
0028 COMMONMODE0_MASK = 0x3ff, COMMONMODE1_POS = 5, COMMONMODE1_MASK = 0x3ff, CHMAP32_POS = 0,
0029 CHMAP32_MASK = 0x1f, CHMAP0_POS = 0, CHMAP0_MASK = 0xffffffff, ERX_E_POS = 4, ERX_E_MASK = 1,
0030 CRC_POL = 0x4c11db7, CRC_INITREM = 0x0, CRC_FINALXOR = 0x0;
0031 }
0032
0033 namespace BACKEND_FRAME {
0034 constexpr uint32_t CAPTUREBLOCK_RESERVED_MASK = 0x7f, CAPTUREBLOCK_RESERVED_POS = 25, CAPTUREBLOCK_BC_MASK = 0xfff,
0035 CAPTUREBLOCK_BC_POS = 13, CAPTUREBLOCK_EC_MASK = 0x7f, CAPTUREBLOCK_EC_POS = 7,
0036 CAPTUREBLOCK_OC_MASK = 0x7, CAPTUREBLOCK_OC_POS = 4, SLINK_BOE_MASK = 0xff, SLINK_BOE_POS = 24,
0037 SLINK_V_MASK = 0xf, SLINK_V_POS = 19, SLINK_R8_MASK = 0xff, SLINK_R8_POS = 11,
0038 SLINK_GLOBAL_EVENTID_MSB_MASK = 0xfff, SLINK_GLOBAL_EVENTID_MSB_POS = 0,
0039 SLINK_GLOBAL_EVENTID_LSB_MASK = 0xffffffff, SLINK_GLOBAL_EVENTID_LSB_POS = 0,
0040 SLINK_R6_MASK = 0x3f, SLINK_R6_POS = 25, SLINK_CONTENTID_MASK = 0x3FFFFFF,
0041 SLINK_CONTENTID_POS = 0, SLINK_SOURCEID_MASK = 0xffffffff, SLINK_SOURCEID_POS = 0,
0042 SLINK_EOE_MASK = 0xff, SLINK_EOE_POS = 23, SLINK_DAQCRC_MASK = 0xffff, SLINK_DAQCRC_POS = 7,
0043 SLINK_TRAILERR_MASK = 0xff, SLINK_TRAILERR_POS = 0, SLINK_EVLENGTH_MASK = 0xfffff,
0044 SLINK_EVLENGTH_POS = 11, SLINK_BXID_MASK = 0xfff, SLINK_BXID_POS = 0,
0045 SLINK_ORBID_MASK = 0xffffffff, SLINK_ORBID_POS = 0, SLINK_CRC_MASK = 0xffff, SLINK_CRC_POS = 15,
0046 SLINK_STATUS_MASK = 0xffff, SLINK_STATUS_POS = 0;
0047 }
0048
0049 namespace DIGI_FLAG {
0050 constexpr uint16_t
0051
0052 FULL_READOUT = 0x0000,
0053 ZS_ADCm1 = 0x0001, ZS_ToA = 0x0002, ZS_ToA_ADCm1 = 0x0003, Invalid = 0x0004,
0054
0055 Normal = 0x8000, Characterization = 0x8001,
0056
0057 NotAvailable = 0xFFFF;
0058 }
0059
0060 }
0061
0062 #endif