CMS 3D CMS Logo

CSCCLCTDigi.h
Go to the documentation of this file.
1 #ifndef CSCDigi_CSCCLCTDigi_h
2 #define CSCDigi_CSCCLCTDigi_h
3 
12 #include <cstdint>
13 #include <iosfwd>
14 
15 class CSCCLCTDigi {
16 
17  public:
18 
20  CSCCLCTDigi(const int valid, const int quality, const int pattern,
21  const int striptype, const int bend, const int strip,
22  const int cfeb, const int bx, const int trknmb = 0, const int fullbx=0);
24  CSCCLCTDigi();
25 
27  void clear();
28 
30  bool isValid() const {return valid_ ;}
31 
33  int getQuality() const {return quality_ ;}
34 
36  int getPattern() const {return pattern_ ;}
37 
39  int getStripType() const {return striptype_ ;}
40 
42  int getBend() const {return bend_ ;}
43 
45  int getStrip() const {return strip_ ;}
46 
48  int getCFEB() const {return cfeb_ ;}
49 
51  int getBX() const {return bx_ ;}
52 
54  int getTrknmb() const {return trknmb_ ;}
55 
65  int getKeyStrip() const {
66  int keyStrip = cfeb_ * 32 + strip_;
67  return keyStrip;
68  }
69 
71  void setTrknmb(const uint16_t number) {trknmb_ = number;}
72 
74  int getFullBX() const {return fullbx_ ;}
75 
77  void setFullBX(const uint16_t fullbx) {fullbx_ = fullbx;}
78 
79 
83  bool operator > (const CSCCLCTDigi&) const;
84 
86  bool operator == (const CSCCLCTDigi&) const;
87 
89  bool operator != (const CSCCLCTDigi&) const;
90 
92  void print() const;
93 
94  private:
95 
96  uint16_t valid_ ;
97  uint16_t quality_ ;
98  uint16_t pattern_ ;
99  uint16_t striptype_ ; // not used since mid-2008
100  uint16_t bend_ ;
101  uint16_t strip_ ;
102  uint16_t cfeb_ ;
103  uint16_t bx_ ;
104  uint16_t trknmb_ ;
105  uint16_t fullbx_ ;
106 
107 };
108 
109 std::ostream & operator<<(std::ostream & o, const CSCCLCTDigi& digi);
110 
111 #endif
int getQuality() const
return quality of a pattern (number of layers hit!)
Definition: CSCCLCTDigi.h:33
uint16_t trknmb_
Definition: CSCCLCTDigi.h:104
uint16_t strip_
Definition: CSCCLCTDigi.h:101
void print() const
Print content of digi.
Definition: CSCCLCTDigi.cc:118
uint16_t pattern_
Definition: CSCCLCTDigi.h:98
uint16_t valid_
Definition: CSCCLCTDigi.h:96
int getStrip() const
return halfstrip that goes from 0 to 31
Definition: CSCCLCTDigi.h:45
int getStripType() const
return striptype
Definition: CSCCLCTDigi.h:39
int getBend() const
return bend
Definition: CSCCLCTDigi.h:42
uint16_t bx_
Definition: CSCCLCTDigi.h:103
CSCCLCTDigi()
default
Definition: CSCCLCTDigi.cc:42
uint16_t bend_
Definition: CSCCLCTDigi.h:100
bool operator>(const CSCCLCTDigi &) const
Definition: CSCCLCTDigi.cc:71
int getCFEB() const
return Key CFEB ID
Definition: CSCCLCTDigi.h:48
uint16_t fullbx_
Definition: CSCCLCTDigi.h:105
int getBX() const
return BX
Definition: CSCCLCTDigi.h:51
bool isValid() const
check CLCT validity (1 - valid CLCT)
Definition: CSCCLCTDigi.h:30
bool operator!=(const CSCCLCTDigi &) const
True if the preceding one is false.
Definition: CSCCLCTDigi.cc:110
int getTrknmb() const
return track number (1,2)
Definition: CSCCLCTDigi.h:54
int getPattern() const
return pattern
Definition: CSCCLCTDigi.h:36
uint16_t cfeb_
Definition: CSCCLCTDigi.h:102
void setFullBX(const uint16_t fullbx)
Set 12-bit full BX.
Definition: CSCCLCTDigi.h:77
bool operator==(const CSCCLCTDigi &) const
True if the two LCTs have exactly the same members (except the number).
Definition: CSCCLCTDigi.cc:98
void clear()
clear this CLCT
Definition: CSCCLCTDigi.cc:58
uint16_t striptype_
Definition: CSCCLCTDigi.h:99
uint16_t quality_
Definition: CSCCLCTDigi.h:97
int getKeyStrip() const
Definition: CSCCLCTDigi.h:65
int getFullBX() const
return 12-bit full BX.
Definition: CSCCLCTDigi.h:74
std::ostream & operator<<(std::ostream &o, const CSCCLCTDigi &digi)
Definition: CSCCLCTDigi.cc:141
void setTrknmb(const uint16_t number)
Set track number (1,2) after sorting CLCTs.
Definition: CSCCLCTDigi.h:71