Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-03 08:20:41

0001 #ifndef __PACKETCONSTANTS_H__
0002 #define __PACKETCONSTANTS_H__
0003 
0004 
0005 /* Misc. values  */
0006 #define MAX_OUTLENGTH 100000
0007 
0008 // define some offset which takes us out well > 30,000 for our ID;s
0009 #define IDOFFSET    30000
0010 
0011 // normal pass through mode
0012 #define IDDCM0OFFSET 400  
0013 // normal fpga zero suppression mode
0014 #define IDDCM1OFFSET 500  
0015 // extra
0016 #define IDDCM2OFFSET 600  
0017 // level1 packets
0018 #define IDLL1OFFSET  700  
0019 #define IDL2OFFSET   750
0020 
0021 // alternate (long) format pass through mode
0022 #define IDDCM3OFFSET 800  
0023 // short format (emcal, etc) 
0024 #define IDDCMSOFFSET 900  
0025 
0026 // ---------------------------------------------------------------------
0027 //    IDCRAW requests the subevent to be copied without any decoding
0028 #define IDCRAW   IDOFFSET + 0 
0029 
0030 // ---------------------------------------------------------------------
0031 //    IDDGEN uses the standard decoding method imbedded in the subevent
0032 //    header in the new data format
0033 #define IDDGEN    IDOFFSET + 1 
0034 
0035 // ---------------------------------------------------------------------
0036 //    IDHCPY requests only the subevent header (or the Event header) to be
0037 //    copied:
0038 #define IDHCPY    IDOFFSET + 2 
0039 
0040 // ---------------------------------------------------------------------
0041 //    the next methods < 10 use what we consider standard methods by
0042 //    now, i.e., no scheme proprietary to one particular hardware brand
0043 
0044 #define ID1STR    IDOFFSET + 3 
0045 #define IDCSTR    IDOFFSET + 4 
0046 #define ID2EVT    IDOFFSET + 5 
0047 #define ID4EVT    IDOFFSET + 6 
0048 #define ID2SUP    IDOFFSET + 7 
0049 #define ID4SCALER IDOFFSET + 8 
0050 #define IDRTCLOCK IDOFFSET + 9 
0051 
0052 // ---------------------------------------------------------------------
0053 // the next methods are for the hammond/g-2 board.
0054 
0055 #define IDHAMMONDSET    IDOFFSET + 31
0056 #define IDHAMMOND       IDOFFSET + 32
0057 
0058 #define IDSAM           IDOFFSET + 40
0059 
0060 #define IDMIZNHC        IDOFFSET + 41
0061 
0062 #define IDDCFEM         IDOFFSET + 51
0063 
0064 
0065 // the "level 0", meaning the raw untreated FEM data 
0066 
0067 #define IDBBC_DCM0    IDDCM0OFFSET + 1
0068 #define IDMVD_DCM0    IDDCM0OFFSET + 2
0069 #define IDDCH_DCM0    IDDCM0OFFSET + 3
0070 #define IDPC_DCM0     IDDCM0OFFSET + 4
0071 #define IDTEC_DCM0    IDDCM0OFFSET + 5
0072 #define IDRICH_DCM0   IDDCM0OFFSET + 6
0073 #define IDTOF_DCM0    IDDCM0OFFSET + 7
0074 #define IDPBSC_DCM0   IDDCM0OFFSET + 8
0075 #define IDPBGL_DCM0   IDDCM0OFFSET + 9
0076 #define IDMUTA_DCM0   IDDCM0OFFSET + 10
0077 #define IDMUTC_DCM0   IDDCM0OFFSET + 11
0078 #define IDMUID_DCM0   IDDCM0OFFSET + 12
0079 #define IDZDC_DCM0    IDDCM0OFFSET + 13
0080 #define IDPXL_DCM0    IDDCM0OFFSET + 24
0081 
0082 // the "level 1", FEM data zero-suppressed by the FPGA
0083 
0084 #define IDBBC_DCM1    IDDCM1OFFSET + 1
0085 #define IDMVD_DCM1    IDDCM1OFFSET + 2
0086 #define IDDCH_DCM1    IDDCM1OFFSET + 3
0087 #define IDPC_DCM1     IDDCM1OFFSET + 4
0088 #define IDTEC_DCM1    IDDCM1OFFSET + 5
0089 #define IDRICH_DCM1   IDDCM1OFFSET + 6
0090 #define IDTOF_DCM1    IDDCM1OFFSET + 7
0091 #define IDPBSC_DCM1   IDDCM1OFFSET + 8
0092 #define IDPBGL_DCM1   IDDCM1OFFSET + 9
0093 #define IDMUTA_DCM1   IDDCM1OFFSET + 10
0094 #define IDMUTC_DCM1   IDDCM1OFFSET + 11
0095 #define IDMUID_DCM1   IDDCM1OFFSET + 12
0096 #define IDZDC_DCM1    IDDCM1OFFSET + 13
0097 
0098 // the "level 2", data further compressed by the DSP
0099 
0100 #define IDBBC_DCM2    IDDCM2OFFSET + 1
0101 #define IDMVD_DCM2    IDDCM2OFFSET + 2
0102 #define IDDCH_DCM2    IDDCM2OFFSET + 3
0103 #define IDPC_DCM2     IDDCM2OFFSET + 4
0104 #define IDTEC_DCM2    IDDCM2OFFSET + 5
0105 #define IDRICH_DCM2   IDDCM2OFFSET + 6
0106 //#define IDTOF_Q1Q2T3T4    IDDCM2OFFSET + 7
0107 #define IDTOF_DCM2    IDDCM2OFFSET + 7
0108 #define IDEMC_OLDSTYLE  IDDCM2OFFSET + 58
0109 #define IDPBGL_DCM2   IDDCM2OFFSET + 9
0110 #define IDMUTA_DCM2   IDDCM2OFFSET + 10
0111 #define IDMUTC_DCM2   IDDCM2OFFSET + 11
0112 //#define IDMUID_DCM2   IDDCM2OFFSET + 12
0113 #define IDZDC_DCM2    IDDCM2OFFSET + 13
0114 
0115 // the "level 3", alternate (long) format in pass through mode
0116 
0117 #define IDBBC_DCM3    IDDCM3OFFSET + 1
0118 #define IDMVD_DCM3    IDDCM3OFFSET + 2
0119 #define IDDCH_DCM3    IDDCM3OFFSET + 3
0120 // moved to idpc_fpga #define IDPC_DCM3     IDDCM3OFFSET + 4
0121 #define IDTEC_DCM3    IDDCM3OFFSET + 5
0122 #define IDRICH_DCM3   IDDCM3OFFSET + 6
0123 #define IDTOF_DCM3    IDDCM3OFFSET + 7
0124 // emc FEM to DCM long format (192 channels, user words, ...)
0125 #define IDPBSC_DCM3   IDDCM3OFFSET + 8
0126 #define IDPBGL_DCM3   IDDCM3OFFSET + 9
0127 
0128 #define IDFVTX_DCM0   IDDCM0OFFSET + 25
0129 #define IDFVTX_SIM    IDDCM0OFFSET + 48
0130 
0131 
0132 // the emc short formats
0133 
0134 #define IDPBSC_DCMS   908
0135 #define IDPBGL_DCMS   909
0136 
0137 // the emc zero-suppressed short formats (3 words per channel+address)
0138 
0139 #define IDPBSC_DCMZS   608
0140 #define IDPBGL_DCMZS   609
0141 
0142 
0143 // the "pbsc 32 channel format" 
0144 
0145 #define IDEMC_DCM32  808
0146 #define IDPBGL_DCM32  809
0147 
0148 // the emc non-suppressed format from the DCM (144 channels, no user words,...)
0149 #define IDPBSC_DCM5  1008
0150 #define IDPBGL_DCM5  1009
0151 
0152 // the emc zero-suppressed format from the DCM (5 words per channel+address) 
0153 #define IDPBSC_DCM05  1108
0154 #define IDPBGL_DCM05  1109
0155 
0156 // the fcal zero-suppressed formats (it will use the emcs 1008 1108 packets)
0157 #define IDFCAL_FPGA       1016
0158 #define IDFCAL_FPGA0SUP   1216
0159 #define IDFCAL_FPGA3      1316
0160 #define IDFCAL_FPGA0SUP3  1116
0161 
0162 
0163 #define IDTOF_DCM16  307
0164 
0165 // IDDCM3OFFSET = 800
0166 #define IDMUTA_DCM3   IDDCM3OFFSET + 10
0167 #define IDMUTC_DCM3   IDDCM3OFFSET + 11
0168 #define IDMUID_DCM3   IDDCM3OFFSET + 12
0169 #define IDZDC_DCM3    IDDCM3OFFSET + 13
0170 
0171 #define IDFOCAL_FPGATEST 725
0172 
0173 #define IDMUTRG_DCM0 791
0174 
0175 
0176 // we start two new series -- 1000 : through fpga but not zero-supressed
0177 //                         -- 1100 : through fpga AND zero-supressed
0178 
0179 
0180 
0181 
0182 #define IDBBC_FPGA         1001
0183 #define IDBBC_FPGA0SUP     1101
0184 
0185 #define IDMVD_FPGA       1002
0186 #define IDMVD_FPGA0SUP   1102
0187 
0188 #define IDMVD_PED_FPGA0SUP  1502
0189 
0190 #define IDPC_FPGA         804
0191 #define IDPC_FPGA0SUP     1104
0192 
0193 #define IDRICH_FPGA       1006
0194 #define IDRICH_FPGA0SUP   1106
0195 
0196 #define IDTOF_FPGA       1007
0197 #define IDTOF_FPGA0SUP   1107
0198 
0199 #define IDTOFW_FPGA       1057
0200 #define IDTOFW_FPGA0SUP   1157
0201 
0202 #define IDEMC_FPGA       1008
0203 #define IDEMC_FPGA0SUP   1108
0204 
0205 #define IDEMC_FPGASHORT       1208
0206 #define IDEMC_FPGASHORT0SUP   1308
0207 
0208 #define IDEMC_FPGA3WORDS     1408
0209 #define IDEMC_FPGA3WORDS0SUP 1508
0210 
0211 #define IDEMC_REFERENCE   1058
0212 #define IDEMC_REFERENCE0SUP   1158
0213 
0214 #define IDEMC_SHORTREFERENCE   1068
0215 #define IDEMC_SHORTREFERENCE0SUP   1168
0216 
0217 #define IDMUTC_FPGA          1011
0218 #define IDMUTC_FPGA0SUP      1111
0219 #define IDMUTC_FPGASHORT     1211
0220 #define IDMUTC_FPGASHORTSUP  1311
0221 #define IDMUTC_FPGANEW       1411
0222 #define IDMUTC_FPGANEWSUP    1511
0223 
0224 #define IDMUTC_15_FPGA       1051
0225 #define IDMUTC_15_FPGA0SUP   1151
0226 
0227 #define IDMUID_FPGA       1012
0228 #define IDMUID_FPGA0SUP   1112
0229 
0230 #define IDZDC_FPGA       1013
0231 #define IDZDC_FPGA0SUP   1113
0232 
0233 #define IDNTCT0_FPGA       1015
0234 #define IDNTCT0_FPGA0SUP   1115
0235 
0236 #define IDRPC_DCM0       1019
0237 #define IDRPC_FPGA       1219
0238 #define IDRPC_FPGA0SUP   1319
0239 
0240 
0241 // HBD gets number 22
0242 #define IDHBD_FPGA       1022
0243 #define IDHBD_FPGA0SUP   1122
0244 #define IDHBD_FPGASHORT       1222
0245 #define IDHBD_FPGASHORT0SUP   1322
0246 #define IDHBD_FPGA3SAMPLES    1422
0247 #define IDHBD_FPGA3SAMPLES0SUP    1522
0248 
0249 // RXNP  gets 23
0250 
0251 #define  IDRXNP_FPGASHORT 1323
0252 #define  IDRXNP_FPGASHORT0SUP 1423
0253 
0254 // the "LL1", level 1 trigger info
0255 
0256 #define IDBBC_LL1    IDLL1OFFSET + 1
0257 #define IDMVD_LL1    IDLL1OFFSET + 2
0258 #define IDRICH_LL1   IDLL1OFFSET + 6
0259 #define IDTOF_LL1    IDLL1OFFSET + 7
0260 #define IDPBSC_LL1   IDLL1OFFSET + 8
0261 #define IDPBGL_LL1   IDLL1OFFSET + 9
0262 #define IDMUIDH_LL1   IDLL1OFFSET + 12
0263 #define IDMUIDV_LL1   IDLL1OFFSET + 13
0264 #define IDGL1        IDLL1OFFSET + 14
0265 #define IDGL1P       IDDCM3OFFSET + 14
0266 #define IDGL1PSUM    914
0267 #define IDGL1PSUMOBS 818
0268 #define IDEMCRICH_LL1 IDLL1OFFSET + 15
0269 #define IDNTCZDC_LL1  IDLL1OFFSET + 16
0270 #define IDGL1_EVCLOCK   IDLL1OFFSET + 17
0271 #define IDERT_E_LL1    IDLL1OFFSET + 18
0272 #define IDERT_W_LL1    IDLL1OFFSET + 19
0273 #define IDBIG_LL1      IDLL1OFFSET + 77
0274 
0275 // L2 packets
0276 //
0277 #define IDL2DECISION IDL2OFFSET
0278 #define IDL2PRIMITIVE IDL2OFFSET + 1
0279 
0280 
0281 // the CDEV data formats, starting from 2000
0282 
0283 #define IDCDEVIR            2001
0284 #define IDCDEVDVM           2002
0285 #define IDCDEVRING          2003
0286 #define IDCDEVWCMHISTORY    2004
0287 #define IDCDEVSIS           2005
0288 #define IDCDEVPOLARIMETER   2006
0289 #define IDCDEVPOLDATA       2007
0290 #define IDCDEVPOLARIMETERTARGET 2008
0291 #define IDCDEVBPM           2009
0292 #define IDCDEVMADCH         2010
0293 #define IDGL1PSCALER        2011
0294 #define IDCDEVRINGPOL       2012
0295 #define IDCDEVRINGFILL      2013
0296 #define IDCDEVBUCKETS       2014
0297 #define IDCDEVRINGNOPOL     2015
0298 #define IDCDEVPOLARIMETERZ  2016
0299 #define IDCDEVDESCR         2017
0300 #define IDSTARSCALER        2098
0301 
0302 #define IDDIGITIZER_31S     93
0303 #define IDDIGITIZER_12S     94
0304 #define IDDIGITIZER_16S     95
0305 
0306 #define IDDIGITIZERV3_2S      162
0307 #define IDDIGITIZERV3_4S      164
0308 #define IDDIGITIZERV3_6S      166
0309 #define IDDIGITIZERV3_8S      168
0310 #define IDDIGITIZERV3_10S     170
0311 #define IDDIGITIZERV3_12S     172
0312 #define IDDIGITIZERV3_14S     174
0313 #define IDDIGITIZERV3_16S     176
0314 #define IDDIGITIZERV3_18S     178
0315 #define IDDIGITIZERV3_20S     180
0316 #define IDDIGITIZERV3_22S     182
0317 #define IDDIGITIZERV3_24S     184
0318 #define IDDIGITIZERV3_26S     186
0319 #define IDDIGITIZERV3_28S     188
0320 #define IDDIGITIZERV3_30S     190
0321 
0322 #define IDDIGITIZER_CTRL     2099
0323 
0324 // LL1 
0325 
0326 #define IDLL1_20S            141
0327 #define IDLL1v2_20S          142
0328 #define IDLL1_MBD            191
0329 #define IDLL1_EMCAL_MON0     192
0330 #define IDLL1_EMCAL_MON1     193
0331 #define IDLL1_EMCAL_MON2     194
0332 #define IDLL1_EMCAL_MON3     195
0333 #define IDLL1_JET_EMCAL_MON0       196
0334 #define IDLL1_JET_EMCAL_MON1       198
0335 #define IDLL1_JET_EMCAL_MON2       200
0336 #define IDLL1_JET_EMCAL_MON3       202
0337 #define IDLL1_JET_EMCAL_MON4       204
0338 #define IDLL1_JET_HCAL_MON0       197
0339 #define IDLL1_JET_HCAL_MON1       199
0340 #define IDLL1_JET_HCAL_MON2       201
0341 #define IDLL1_JET_HCAL_MON3       203
0342 #define IDLL1_JET_HCAL_MON4       205
0343 
0344 // EMC data header and trailer length
0345 
0346 #define EMC_SUPPRESSED_DATA_HEADER_LENGTH 8
0347 #define EMC_DATA_TRAILER_LENGTH 10
0348 #define EMC_SHORT_DATA_HEADER_LENGTH 9
0349 #define EMC_LONG_DATA_HEADER_LENGTH 9
0350 #define EMC_WORDS_PER_CH_SHORT 3 
0351 #define EMC_WORDS_PER_CH_LONG 5 
0352 #define EMC_DCMDATA_HEADER_LENGTH 8
0353 #define EMC_DCMDATA_TRAILER_LENGTH 2
0354 #endif /* __PACKETCONSTANTS_H__ */
0355 
0356 
0357