CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CSCCLCTDigi.h
Go to the documentation of this file.
1 #ifndef CSCDigi_CSCCLCTDigi_h
2 #define CSCDigi_CSCCLCTDigi_h
3 
14 #include <boost/cstdint.hpp>
15 #include <iosfwd>
16 
17 class CSCCLCTDigi {
18 
19  public:
20 
22  CSCCLCTDigi(const int valid, const int quality, const int pattern,
23  const int striptype, const int bend, const int strip,
24  const int cfeb, const int bx, const int trknmb = 0, const int fullbx=0);
26  CSCCLCTDigi();
27 
29  void clear();
30 
32  bool isValid() const {return valid_ ;}
33 
35  int getQuality() const {return quality_ ;}
36 
38  int getPattern() const {return pattern_ ;}
39 
41  int getStripType() const {return striptype_ ;}
42 
44  int getBend() const {return bend_ ;}
45 
47  int getStrip() const {return strip_ ;}
48 
50  int getCFEB() const {return cfeb_ ;}
51 
53  int getBX() const {return bx_ ;}
54 
56  int getTrknmb() const {return trknmb_ ;}
57 
67  int getKeyStrip() const {
68  int keyStrip = cfeb_ * 32 + strip_;
69  return keyStrip;
70  }
71 
73  void setTrknmb(const uint16_t number) {trknmb_ = number;}
74 
76  int getFullBX() const {return fullbx_ ;}
77 
79  void setFullBX(const uint16_t fullbx) {fullbx_ = fullbx;}
80 
81 
85  bool operator > (const CSCCLCTDigi&) const;
86 
88  bool operator == (const CSCCLCTDigi&) const;
89 
91  bool operator != (const CSCCLCTDigi&) const;
92 
94  void print() const;
95 
96  private:
97 
98  uint16_t valid_ ;
99  uint16_t quality_ ;
100  uint16_t pattern_ ;
101  uint16_t striptype_ ; // not used since mid-2008
102  uint16_t bend_ ;
103  uint16_t strip_ ;
104  uint16_t cfeb_ ;
105  uint16_t bx_ ;
106  uint16_t trknmb_ ;
107  uint16_t fullbx_ ;
108 
109 };
110 
111 std::ostream & operator<<(std::ostream & o, const CSCCLCTDigi& digi);
112 
113 #endif
int getQuality() const
return quality of a pattern (number of layers hit!)
Definition: CSCCLCTDigi.h:35
uint16_t trknmb_
Definition: CSCCLCTDigi.h:106
uint16_t strip_
Definition: CSCCLCTDigi.h:103
void strip(std::string &input, const std::string &blanks=" \n\t")
Definition: stringTools.cc:16
void print() const
Print content of digi.
Definition: CSCCLCTDigi.cc:120
uint16_t pattern_
Definition: CSCCLCTDigi.h:100
uint16_t valid_
Definition: CSCCLCTDigi.h:98
int getStrip() const
return halfstrip that goes from 0 to 31
Definition: CSCCLCTDigi.h:47
std::ostream & operator<<(std::ostream &out, const ALILine &li)
Definition: ALILine.cc:187
int getStripType() const
return striptype
Definition: CSCCLCTDigi.h:41
int getBend() const
return bend
Definition: CSCCLCTDigi.h:44
uint16_t bx_
Definition: CSCCLCTDigi.h:105
CSCCLCTDigi()
default
Definition: CSCCLCTDigi.cc:44
uint16_t bend_
Definition: CSCCLCTDigi.h:102
bool operator>(const CSCCLCTDigi &) const
Definition: CSCCLCTDigi.cc:73
int getCFEB() const
return Key CFEB ID
Definition: CSCCLCTDigi.h:50
uint16_t fullbx_
Definition: CSCCLCTDigi.h:107
int getBX() const
return BX
Definition: CSCCLCTDigi.h:53
bool isValid() const
check CLCT validity (1 - valid CLCT)
Definition: CSCCLCTDigi.h:32
bool operator!=(const CSCCLCTDigi &) const
True if the preceding one is false.
Definition: CSCCLCTDigi.cc:112
int getTrknmb() const
return track number (1,2)
Definition: CSCCLCTDigi.h:56
int getPattern() const
return pattern
Definition: CSCCLCTDigi.h:38
uint16_t cfeb_
Definition: CSCCLCTDigi.h:104
void setFullBX(const uint16_t fullbx)
Set 12-bit full BX.
Definition: CSCCLCTDigi.h:79
bool operator==(const CSCCLCTDigi &) const
True if the two LCTs have exactly the same members (except the number).
Definition: CSCCLCTDigi.cc:100
void clear()
clear this CLCT
Definition: CSCCLCTDigi.cc:60
uint16_t striptype_
Definition: CSCCLCTDigi.h:101
uint16_t quality_
Definition: CSCCLCTDigi.h:99
int getKeyStrip() const
Definition: CSCCLCTDigi.h:67
int getFullBX() const
return 12-bit full BX.
Definition: CSCCLCTDigi.h:76
void setTrknmb(const uint16_t number)
Set track number (1,2) after sorting CLCTs.
Definition: CSCCLCTDigi.h:73