CMS 3D CMS Logo

CSCCorrelatedLCTDigi.cc
Go to the documentation of this file.
1 
11 #include <iostream>
12 
15  const int ivalid,
16  const int iquality,
17  const int ikeywire,
18  const int istrip,
19  const int ipattern,
20  const int ibend,
21  const int ibx,
22  const int impclink,
23  const uint16_t ibx0,
24  const uint16_t isyncErr,
25  const uint16_t icscID)
26  : trknmb(itrknmb),
27  valid(ivalid),
28  quality(iquality),
29  keywire(ikeywire),
30  strip(istrip),
31  pattern(ipattern),
32  bend(ibend),
33  bx(ibx),
34  mpclink(impclink),
35  bx0(ibx0),
36  syncErr(isyncErr),
37  cscID(icscID) {}
38 
41  clear(); // set contents to zero
42 }
43 
46  trknmb = 0;
47  valid = 0;
48  quality = 0;
49  keywire = 0;
50  strip = 0;
51  pattern = 0;
52  bend = 0;
53  bx = 0;
54  mpclink = 0;
55  bx0 = 0;
56  syncErr = 0;
57  cscID = 0;
58 }
59 
61 float CSCCorrelatedLCTDigi::getFractionalStrip() const { return 0.5f * (getStrip() + 1) - 0.25f; }
62 
65  return ((trknmb == rhs.trknmb) && (quality == rhs.quality) && (keywire == rhs.keywire) && (strip == rhs.strip) &&
66  (pattern == rhs.pattern) && (bend == rhs.bend) && (bx == rhs.bx) && (valid == rhs.valid) &&
67  (mpclink == rhs.mpclink));
68 }
69 
72  if (isValid()) {
73  edm::LogVerbatim("CSCDigi") << "CSC LCT #" << getTrknmb() << ": Valid = " << isValid()
74  << " Quality = " << getQuality() << " Key Wire = " << getKeyWG()
75  << " Strip = " << getStrip() << " Pattern = " << getPattern()
76  << " Bend = " << ((getBend() == 0) ? 'L' : 'R') << " BX = " << getBX()
77  << " MPC Link = " << getMPCLink();
78  } else {
79  edm::LogVerbatim("CSCDigi") << "Not a valid correlated LCT.";
80  }
81 }
82 
83 std::ostream& operator<<(std::ostream& o, const CSCCorrelatedLCTDigi& digi) {
84  return o << "CSC LCT #" << digi.getTrknmb() << ": Valid = " << digi.isValid() << " Quality = " << digi.getQuality()
85  << " MPC Link = " << digi.getMPCLink() << " cscID = " << digi.getCSCID() << "\n"
86  << " cathode info: Strip = " << digi.getStrip() << " Pattern = " << digi.getPattern()
87  << " Bend = " << ((digi.getBend() == 0) ? 'L' : 'R') << "\n"
88  << " anode info: Key wire = " << digi.getKeyWG() << " BX = " << digi.getBX() << " bx0 = " << digi.getBX0()
89  << " syncErr = " << digi.getSyncErr() << "\n";
90 }
int getStrip() const
return the key halfstrip from 0,159
uint16_t getSyncErr() const
int getQuality() const
return the 4 bit Correlated LCT Quality
int getBend() const
return bend
float getFractionalStrip() const
return the fractional strip. counts from 0.25
bool operator==(const CSCCorrelatedLCTDigi &) const
Comparison.
uint16_t getCSCID() const
double f[11][100]
int getTrknmb() const
return track number
int getBX() const
return BX
uint16_t getBX0() const
std::ostream & operator<<(std::ostream &o, const CSCCorrelatedLCTDigi &digi)
int getMPCLink() const
return MPC link number, 0 means not sorted, 1-3 give MPC sorting rank
bool isValid() const
return valid pattern bit
int getPattern() const
return pattern
void print() const
Print content of correlated LCT digi.
int getKeyWG() const
return the key wire group. counts from 0.