diff --git a/MuonSpectrometer/MuonCnv/MuonTGC_CnvTools/src/TgcByteStreamData.h b/MuonSpectrometer/MuonCnv/MuonTGC_CnvTools/src/TgcByteStreamData.h index 825709399017a6526d65a30707c1766c54fdf73f..92a855c0353c1a7076ef221cfc9f96bb3b536740 100644 --- a/MuonSpectrometer/MuonCnv/MuonTGC_CnvTools/src/TgcByteStreamData.h +++ b/MuonSpectrometer/MuonCnv/MuonTGC_CnvTools/src/TgcByteStreamData.h @@ -181,6 +181,140 @@ struct TGC_BYTESTREAM_SL TGC_BYTESTREAM_SL() { memset(this, 0, sizeof(*this)); } }; +/**********************/ +/** structs for NewSL */ +/**********************/ + +struct TGC_BYTESTREAM_NSL_ROI +{ + unsigned roi: 8; + unsigned pt: 4; + unsigned charge: 1; + unsigned nswcoin: 3; + unsigned flags: 4; + unsigned fill1: 2; + unsigned bcBitmap: 2; + unsigned sector: 4; + unsigned fwd: 1; + unsigned type: 3; + + TGC_BYTESTREAM_NSL_ROI() { memset(this, 0, sizeof(*this)); } +}; + +struct TGC_BYTESTREAM_NSW_POS +{ + unsigned monitor: 1; + unsigned eta: 8; + unsigned phi: 6; + unsigned fill1: 2; + unsigned input: 3; + unsigned cand: 2; + unsigned fill2: 2; + unsigned sector: 4; + unsigned fwd: 1; + unsigned type: 3; + + TGC_BYTESTREAM_NSW_POS() { memset(this, 0, sizeof(*this)); } +}; + +struct TGC_BYTESTREAM_NSW_ANG +{ + unsigned angle: 5; + unsigned phires: 1; + unsigned lowres: 1; + unsigned fill1: 2; + unsigned nswid: 4; + unsigned bcid: 4; + unsigned input: 3; + unsigned cand: 2; + unsigned bcBitmap: 2; + unsigned sector: 4; + unsigned fwd: 1; + unsigned type: 3; + + TGC_BYTESTREAM_NSW_ANG() { memset(this, 0, sizeof(*this)); } +}; + +struct TGC_BYTESTREAM_RPCBIS78_POS +{ + unsigned eta: 6; + unsigned phi: 6; + unsigned fill1: 8; + unsigned cand: 2; + unsigned fill2: 2; + unsigned sector: 4; + unsigned fwd: 1; + unsigned type: 3; + + TGC_BYTESTREAM_RPCBIS78_POS() { memset(this, 0, sizeof(*this)); } +}; +struct TGC_BYTESTREAM_RPCBIS78_COIN +{ + unsigned fill1: 4; + unsigned flag: 2; + unsigned dphi: 3; + unsigned deta: 3; + unsigned fill2: 1; + unsigned bcid: 4; + unsigned fill3: 3; + unsigned cand: 2; + unsigned bcBitmap: 2; + unsigned sector: 4; + unsigned fwd: 1; + unsigned type: 3; + + TGC_BYTESTREAM_RPCBIS78_COIN() { memset(this, 0, sizeof(*this)); } +}; + +struct TGC_BYTESTREAM_NSL_EIFI +{ + unsigned ei: 8; + unsigned fi: 8; + unsigned fill1: 6; + unsigned bcBitmap: 2; + unsigned sector: 4; + unsigned fwd: 1; + unsigned type: 3; + + TGC_BYTESTREAM_NSL_EIFI() { memset(this, 0, sizeof(*this)); } +}; + +struct TGC_BYTESTREAM_NSL_HIPT +{ + signed delta: 5; + unsigned sub: 1; + unsigned hitId: 3; + unsigned hipt: 1; + unsigned cand: 1; + unsigned chip: 2; + unsigned strip: 1; + unsigned fill1: 8; + unsigned bcBitmap: 2; + unsigned sector: 4; + unsigned fwd: 1; + unsigned type: 3; + + TGC_BYTESTREAM_NSL_HIPT() { memset(this, 0, sizeof(*this)); } +}; + +struct TGC_BYTESTREAM_NSL_TMDB +{ + unsigned module: 12; + unsigned bcid: 4; + unsigned fill1: 6; + unsigned bcBitmap: 2; + unsigned sector: 4; + unsigned fwd: 1; + unsigned type: 3; + + TGC_BYTESTREAM_NSL_TMDB() { memset(this, 0, sizeof(*this)); } +}; + +/*****************************/ +/** end of structs for NewSL */ +/*****************************/ + + template <typename DEST, typename SRC> DEST* my_pointer_cast(SRC* src) { void* ptr = src; return reinterpret_cast<DEST*>(ptr);