File indexing completed on 2023-03-17 10:49:33
0001 #ifndef DataFormats_CSCDigi_CSCConstants_h
0002 #define DataFormats_CSCDigi_CSCConstants_h
0003
0004
0005
0006
0007
0008
0009
0010 class CSCConstants {
0011 public:
0012 enum DDU_Info { NUM_DDUS = 5 };
0013
0014 enum CFEB_Info {
0015
0016 MAX_CFEBS_RUN1 = 5,
0017
0018 NUM_CFEBS_ME1A_GANGED = 1,
0019 NUM_CFEBS_ME1A_UNGANGED = 3,
0020 NUM_CFEBS_ME1B = 4,
0021 NUM_CFEBS_ME11_GANGED = NUM_CFEBS_ME1A_GANGED + NUM_CFEBS_ME1B,
0022 NUM_CFEBS_ME11_UNGANGED = NUM_CFEBS_ME1A_UNGANGED + NUM_CFEBS_ME1B,
0023
0024 MAX_CFEBS_RUN2 = NUM_CFEBS_ME11_UNGANGED,
0025
0026 NUM_CFEBS_ME12 = 5,
0027 NUM_CFEBS_ME13 = 4,
0028 NUM_CFEBS_ME21 = 5,
0029 NUM_CFEBS_ME22 = 5,
0030 NUM_CFEBS_ME31 = 5,
0031 NUM_CFEBS_ME32 = 5,
0032 NUM_CFEBS_ME41 = 5,
0033 NUM_CFEBS_ME42 = 5
0034 };
0035
0036 enum FPGA_Latency { CLCT_EMUL_TIME_OFFSET = 3, ALCT_EMUL_TIME_OFFSET = 6 };
0037
0038
0039 enum WG_Info {
0040 NUM_WIREGROUPS_ME11 = 48,
0041 NUM_WIREGROUPS_ME12 = 64,
0042 NUM_WIREGROUPS_ME13 = 32,
0043 NUM_WIREGROUPS_ME21 = 112,
0044 NUM_WIREGROUPS_ME22 = 64,
0045 NUM_WIREGROUPS_ME31 = 96,
0046 NUM_WIREGROUPS_ME32 = 64,
0047 NUM_WIREGROUPS_ME41 = 96,
0048 NUM_WIREGROUPS_ME42 = 64,
0049
0050
0051 MAX_NUM_WIREGROUPS = 119,
0052 INVALID_WIREGROUP = 65535
0053 };
0054
0055
0056 enum Strip_Info {
0057
0058 NUM_DISTRIPS_PER_CFEB = 8,
0059
0060 NUM_STRIPS_PER_CFEB = 2 * NUM_DISTRIPS_PER_CFEB,
0061
0062 NUM_HALF_STRIPS_PER_CFEB = 2 * NUM_STRIPS_PER_CFEB,
0063
0064 MAX_NUM_STRIPS_RUN1 = MAX_CFEBS_RUN1 * NUM_STRIPS_PER_CFEB,
0065 MAX_NUM_STRIPS_RUN2 = MAX_CFEBS_RUN2 * NUM_STRIPS_PER_CFEB,
0066
0067 MAX_NUM_HALF_STRIPS_RUN1 = MAX_CFEBS_RUN1 * NUM_HALF_STRIPS_PER_CFEB,
0068 MAX_NUM_HALF_STRIPS_RUN2 = MAX_CFEBS_RUN2 * NUM_HALF_STRIPS_PER_CFEB,
0069
0070
0071
0072
0073 MAX_NUM_HALF_STRIPS_RUN1_TRIGGER = 1 + MAX_NUM_HALF_STRIPS_RUN1,
0074 MAX_NUM_HALF_STRIPS_RUN2_TRIGGER = 1 + MAX_NUM_HALF_STRIPS_RUN2,
0075
0076 NUM_STRIPS_ME1A_GANGED = NUM_CFEBS_ME1A_GANGED * NUM_STRIPS_PER_CFEB,
0077 NUM_STRIPS_ME1A_UNGANGED = NUM_CFEBS_ME1A_UNGANGED * NUM_STRIPS_PER_CFEB,
0078 NUM_STRIPS_ME1B = NUM_CFEBS_ME1B * NUM_STRIPS_PER_CFEB,
0079
0080 NUM_HALF_STRIPS_ME1A_GANGED = NUM_CFEBS_ME1A_GANGED * NUM_HALF_STRIPS_PER_CFEB,
0081 NUM_HALF_STRIPS_ME1A_UNGANGED = NUM_CFEBS_ME1A_UNGANGED * NUM_HALF_STRIPS_PER_CFEB,
0082 NUM_HALF_STRIPS_ME1B = NUM_CFEBS_ME1B * NUM_HALF_STRIPS_PER_CFEB,
0083 NUM_HALF_STRIPS_ME11_GANGED = NUM_CFEBS_ME11_GANGED * NUM_HALF_STRIPS_PER_CFEB,
0084 NUM_HALF_STRIPS_ME11_UNGANGED = NUM_CFEBS_ME11_UNGANGED * NUM_HALF_STRIPS_PER_CFEB,
0085
0086 MAX_HALF_STRIP_ME1A_GANGED = NUM_HALF_STRIPS_ME1A_GANGED - 1,
0087 MAX_HALF_STRIP_ME1A_UNGANGED = NUM_HALF_STRIPS_ME1A_UNGANGED - 1,
0088 MAX_HALF_STRIP_ME1B = NUM_HALF_STRIPS_ME1B - 1,
0089
0090 NUM_HALF_STRIPS_ME12 = NUM_CFEBS_ME12 * NUM_HALF_STRIPS_PER_CFEB,
0091 NUM_HALF_STRIPS_ME13 = NUM_CFEBS_ME13 * NUM_HALF_STRIPS_PER_CFEB,
0092 NUM_HALF_STRIPS_ME21 = NUM_CFEBS_ME21 * NUM_HALF_STRIPS_PER_CFEB,
0093 NUM_HALF_STRIPS_ME22 = NUM_CFEBS_ME22 * NUM_HALF_STRIPS_PER_CFEB,
0094 NUM_HALF_STRIPS_ME31 = NUM_CFEBS_ME31 * NUM_HALF_STRIPS_PER_CFEB,
0095 NUM_HALF_STRIPS_ME32 = NUM_CFEBS_ME32 * NUM_HALF_STRIPS_PER_CFEB,
0096 NUM_HALF_STRIPS_ME41 = NUM_CFEBS_ME41 * NUM_HALF_STRIPS_PER_CFEB,
0097 NUM_HALF_STRIPS_ME42 = NUM_CFEBS_ME42 * NUM_HALF_STRIPS_PER_CFEB,
0098
0099 INVALID_HALF_STRIP = 65535
0100 };
0101
0102
0103 enum Layer_Info { NUM_LAYERS = 6, KEY_CLCT_LAYER = 3, KEY_ALCT_LAYER = 3 };
0104
0105
0106 enum Pattern_Info {
0107 NUM_ALCT_PATTERNS = 3,
0108 ALCT_PATTERN_WIDTH = 5,
0109 ALCT_ACCELERATOR_PATTERN = 0,
0110 ALCT_COLLISIONA_PATTERN = 1,
0111 ALCT_COLLISIONB_PATTERN = 2,
0112
0113 NUM_CLCT_PATTERNS = 11,
0114
0115 NUM_CLCT_PATTERNS_RUN3 = 5,
0116 CLCT_PATTERN_WIDTH = 11,
0117
0118 MAX_WIRES_IN_PATTERN = 14,
0119 NUM_COMPARATOR_CODES = 4096
0120 };
0121
0122 enum Digis_Info { MAX_DIGIS_PER_ALCT = 10, MAX_DIGIS_PER_CLCT = 8 };
0123
0124 enum LCT_stubs {
0125
0126 MAX_CLCT_TBINS = 16,
0127 MAX_ALCT_TBINS = 16,
0128 MAX_LCT_TBINS = 16,
0129
0130 MAX_MATCH_WINDOW_SIZE = 7,
0131
0132 MAX_CLCTS_PER_PROCESSOR = 2,
0133 MAX_CLCTS_READOUT = 2,
0134
0135 MAX_ALCTS_PER_PROCESSOR = 2,
0136 MAX_ALCTS_READOUT = 2,
0137
0138 MAX_LCTS_PER_CSC = 2,
0139
0140 MAX_LCTS_PER_MPC = 18,
0141
0142
0143
0144
0145
0146 MAX_CSCS_PER_EMTF_SP_NO_OVERLAP = 45,
0147
0148 LCT_CENTRAL_BX = 8,
0149
0150
0151
0152
0153
0154
0155 ALCT_CENTRAL_BX = 3,
0156
0157
0158
0159
0160
0161
0162 CLCT_CENTRAL_BX = 7,
0163
0164 ALCT_CLCT_OFFSET = 1
0165 };
0166 };
0167
0168 #endif