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);