From b1278e5e898dba08cc5eb88749a601ff319d878c Mon Sep 17 00:00:00 2001
From: toshi <toshi.sumida@cern.ch>
Date: Wed, 15 Apr 2020 16:10:33 +0900
Subject: [PATCH] updated raw data structure for NSL

---
 .../MuonTGC_CnvTools/src/TgcByteStreamData.h  | 134 ++++++++++++++++++
 1 file changed, 134 insertions(+)

diff --git a/MuonSpectrometer/MuonCnv/MuonTGC_CnvTools/src/TgcByteStreamData.h b/MuonSpectrometer/MuonCnv/MuonTGC_CnvTools/src/TgcByteStreamData.h
index 825709399017..92a855c0353c 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); 
-- 
GitLab