ATLAS Offline Software
TgcSlbData.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUONTGC_CNVTOOLS_TGCSLBDATA_H
6 #define MUONTGC_CNVTOOLS_TGCSLBDATA_H
7 
8 #include <inttypes.h>
9 
10 namespace Muon
11 {
12 
21  class TgcSlbData
22  {
23  public:
24  enum
25  {
31  BITMAP_SIZE = 200
32  };
33 
34  enum SlbType {
35  SLB_HIT =0,
44  SLB_NONE
45  };
46 
49  uint16_t sswId, uint16_t slbId);
50 
52  virtual ~TgcSlbData(void) ;
53 
55  bool equal(uint16_t bcId,
56  uint32_t l1Id,
57  uint16_t sswId,
58  uint16_t slbId) const;
59 
61  const bool * getBitArray(const uint16_t bcTag) const;
62 
64  void setBitmap (const uint16_t bcTag,
65  const uint32_t cellAddr, const uint32_t cellData);
66 
68  void setBit (const uint16_t bcTag,
69  uint32_t iBit);
70 
72  int getType() const;
73 
75  void setType(int vType) ;
76 
78  bool isCoincidence(void) const;
79 
81  bool isLowPt(void) const;
82 
84  bool isHighPt(void) const;
85 
87  bool isSL(void) const;
88 
90  bool isInner(void) const;
91 
93  void setBcId(uint16_t bcId);
95  void setL1Id(uint32_t l1Id);
97  void setSswId(uint16_t sswId);
99  void setSlbId(uint16_t slbId);
101  void setSbLoc(uint16_t sbLoc);
103  void setError(uint16_t error);
104 
106  uint16_t getBcId() const;
108  uint32_t getL1Id() const;
110  uint16_t getSswId() const;
112  uint16_t getSlbId() const;
114  uint16_t getSbLoc() const;
116  uint16_t getError() const;
117 
118  private:
119  enum {
121  PADDING_WORD = 0x1F
122  };
123 
125  TgcSlbData(void);
126 
128  // Non-const version which is used in this class only
129  bool * getBitArray(const uint16_t bcTag);
130 
137 
144 
146  int m_type;
147 
148  };
149 } // end of namespace
150 
151 #endif // MUONTGC_CNVTOOLS_TGCSLBDATA_H
Muon::TgcSlbData::getSbLoc
uint16_t getSbLoc() const
Get sbLoc.
Definition: TgcSlbData.cxx:210
Muon::TgcSlbData::getSswId
uint16_t getSswId() const
Get sswId.
Definition: TgcSlbData.cxx:202
Muon::TgcSlbData::BC_PREVIOUS
@ BC_PREVIOUS
Definition: TgcSlbData.h:27
Muon::TgcSlbData::isInner
bool isInner(void) const
Check if the SLB type is inner LowPt.
Definition: TgcSlbData.cxx:165
Muon::TgcSlbData::m_slbId
uint16_t m_slbId
Definition: TgcSlbData.h:134
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
Muon::TgcSlbData::isSL
bool isSL(void) const
Check if the SLB type is SL.
Definition: TgcSlbData.cxx:160
Muon::TgcSlbData::m_error
uint16_t m_error
Definition: TgcSlbData.h:136
Muon::TgcSlbData::BITMAP_SIZE
@ BITMAP_SIZE
Definition: TgcSlbData.h:31
Muon::TgcSlbData::SLB_SL_F
@ SLB_SL_F
Definition: TgcSlbData.h:42
Muon::TgcSlbData::setType
void setType(int vType)
Set SLB type.
Definition: TgcSlbData.cxx:140
Muon::TgcSlbData::SLB_NONE
@ SLB_NONE
Definition: TgcSlbData.h:44
Muon::TgcSlbData::setL1Id
void setL1Id(uint32_t l1Id)
Set l1Id.
Definition: TgcSlbData.cxx:174
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:49
Muon::TgcSlbData::getBcId
uint16_t getBcId() const
Get bcId.
Definition: TgcSlbData.cxx:194
WriteCellNoiseToCool.cellData
cellData
Definition: WriteCellNoiseToCool.py:336
Muon::TgcSlbData::m_bitArray_P
bool m_bitArray_P[BITMAP_SIZE]
Bit array at previous bunch.
Definition: TgcSlbData.h:141
Muon::TgcSlbData::isHighPt
bool isHighPt(void) const
Check if the SLB type is HighPt.
Definition: TgcSlbData.cxx:155
Muon::TgcSlbData::SLB_LPT_D_W
@ SLB_LPT_D_W
Definition: TgcSlbData.h:36
Muon::TgcSlbData::SLB_LPT_I_S
@ SLB_LPT_I_S
Definition: TgcSlbData.h:41
Muon::TgcSlbData::getError
uint16_t getError() const
Get error.
Definition: TgcSlbData.cxx:214
Muon::TgcSlbData::m_l1Id
uint32_t m_l1Id
Definition: TgcSlbData.h:132
Muon::TgcSlbData::m_type
int m_type
SLB type.
Definition: TgcSlbData.h:146
Muon::TgcSlbData::SLB_LPT_T_S
@ SLB_LPT_T_S
Definition: TgcSlbData.h:39
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:88
Muon::TgcSlbData::setBitmap
void setBitmap(const uint16_t bcTag, const uint32_t cellAddr, const uint32_t cellData)
Store bitmap.
Definition: TgcSlbData.cxx:100
Muon::TgcSlbData::isLowPt
bool isLowPt(void) const
Check if the SLB type is LowPt.
Definition: TgcSlbData.cxx:150
Muon::TgcSlbData::SLB_LPT_T_W
@ SLB_LPT_T_W
Definition: TgcSlbData.h:38
Muon::TgcSlbData::equal
bool equal(uint16_t bcId, uint32_t l1Id, uint16_t sswId, uint16_t slbId) const
Check input IDs and held IDs are equal or not.
Definition: TgcSlbData.cxx:42
Muon::TgcSlbData::SLB_SL_E
@ SLB_SL_E
Definition: TgcSlbData.h:43
Muon::TgcSlbData::m_bcId
uint16_t m_bcId
Definition: TgcSlbData.h:131
Muon::TgcSlbData::getL1Id
uint32_t getL1Id() const
Get l1Id.
Definition: TgcSlbData.cxx:198
Muon::TgcSlbData::setSswId
void setSswId(uint16_t sswId)
Set sswId.
Definition: TgcSlbData.cxx:178
Muon::TgcSlbData::setSlbId
void setSlbId(uint16_t slbId)
Set slbId.
Definition: TgcSlbData.cxx:182
Muon::TgcSlbData::CELL_SIZE
@ CELL_SIZE
Definition: TgcSlbData.h:120
Muon::TgcSlbData::PADDING_WORD
@ PADDING_WORD
Definition: TgcSlbData.h:121
Muon::TgcSlbData::m_sswId
uint16_t m_sswId
Definition: TgcSlbData.h:133
Muon::TgcSlbData::SLB_LPT_I_W
@ SLB_LPT_I_W
Definition: TgcSlbData.h:40
Muon::TgcSlbData::setBit
void setBit(const uint16_t bcTag, uint32_t iBit)
Set a bit.
Definition: TgcSlbData.cxx:124
Muon::TgcSlbData
Definition: TgcSlbData.h:22
Muon::TgcSlbData::m_sbLoc
uint16_t m_sbLoc
Definition: TgcSlbData.h:135
Muon::TgcSlbData::setBcId
void setBcId(uint16_t bcId)
Set bcId.
Definition: TgcSlbData.cxx:170
Muon::TgcSlbData::isCoincidence
bool isCoincidence(void) const
Check if the SLB type is coincidence.
Definition: TgcSlbData.cxx:145
bcId
uint16_t bcId(uint32_t data)
Definition: TgcByteStreamData.h:329
Muon::TgcSlbData::getSlbId
uint16_t getSlbId() const
Get slbId.
Definition: TgcSlbData.cxx:206
Muon::TgcSlbData::BC_UNDEFINED
@ BC_UNDEFINED
Definition: TgcSlbData.h:26
Muon::TgcSlbData::N_BC
@ N_BC
Definition: TgcSlbData.h:30
Muon::TgcSlbData::BC_NEXT
@ BC_NEXT
Definition: TgcSlbData.h:29
Muon::TgcSlbData::~TgcSlbData
virtual ~TgcSlbData(void)
Destructor.
Muon::TgcSlbData::SLB_LPT_D_S
@ SLB_LPT_D_S
Definition: TgcSlbData.h:37
Muon::TgcSlbData::BC_CENTRAL
@ BC_CENTRAL
Definition: TgcSlbData.h:28
Muon::TgcSlbData::SlbType
SlbType
Definition: TgcSlbData.h:34
Muon::TgcSlbData::setSbLoc
void setSbLoc(uint16_t sbLoc)
Set sbLoc.
Definition: TgcSlbData.cxx:186
Muon::TgcSlbData::getType
int getType() const
Get SLB type.
Definition: TgcSlbData.cxx:135
bcTag
unsigned bcTag(unsigned bcBitMap)
Definition: TgcByteStreamData.h:367
Muon::TgcSlbData::setError
void setError(uint16_t error)
Set Error.
Definition: TgcSlbData.cxx:190
Muon::TgcSlbData::TgcSlbData
TgcSlbData(void)
Costructor.
Definition: TgcSlbData.cxx:7
error
Definition: IImpactPoint3dEstimator.h:70
Muon::TgcSlbData::m_bitArray_N
bool m_bitArray_N[BITMAP_SIZE]
Bit array at next bunch.
Definition: TgcSlbData.h:143
Muon::TgcSlbData::SLB_HIT
@ SLB_HIT
Definition: TgcSlbData.h:35
Muon::TgcSlbData::m_bitArray_C
bool m_bitArray_C[BITMAP_SIZE]
Bit array at central bunch.
Definition: TgcSlbData.h:139
Muon::TgcSlbData::getBitArray
const bool * getBitArray(const uint16_t bcTag) const
Get bitArray for a BC tag.
Definition: TgcSlbData.cxx:50