Go to the documentation of this file.
20 const uint16_t striptype,
25 const uint16_t trknmb,
26 const uint16_t fullbx,
27 const int16_t compCode,
32 striptype_(striptype),
121 const float minSlope = 0;
122 const float maxSlope = 2.5;
124 const float deltaSlope = (maxSlope - minSlope) /
range;
125 const float slopeValue = minSlope + deltaSlope *
getSlope();
126 return (2 *
getBend() - 1) * slopeValue;
128 int slope[11] = {0, 0, -8, 8, -6, 6, -4, 4, -2, 2, 0};
191 bool returnValue =
false;
222 if ((quality1 > quality2) || (quality1 == quality2 && pattern1 > pattern2) ||
232 bool returnValue =
false;
243 bool returnValue =
true;
257 <<
" Strip = " << std::setw(2) <<
getStrip() <<
" Quality = " << std::setw(1)
259 <<
" Bend = " << std::setw(1) <<
bend <<
" Strip type = " << std::setw(1) << stripType
260 <<
" CFEB ID = " << std::setw(1) <<
getCFEB() <<
" BX = " << std::setw(1) <<
getBX()
261 <<
" Full BX= " << std::setw(1) <<
getFullBX() <<
" Comp Code= " << std::setw(1)
float getFractionalSlope(const uint16_t slope=4) const
slope in number of half-strips/layer
uint16_t getTrknmb() const
return track number (1,2)
bool operator!=(const CSCCLCTDigi &) const
True if the preceding one is false.
int16_t getCompCode() const
void setEightStrip(const bool eightStrip)
set single eight strip bit
void setPattern(const uint16_t pattern)
set pattern
uint16_t getDataWord(const uint16_t word, const unsigned shift, const unsigned mask) const
uint16_t getKeyStrip(const uint16_t n=2) const
void setQuartStrip(const bool quartStrip)
set single quart strip bit
static const uint16_t valid_
ComparatorContainer hits_
uint16_t getQuality() const
return quality of a pattern (number of layers hit!)
bool isRun3() const
Distinguish Run-1/2 from Run-3.
float getFractionalStrip(const uint16_t n=2) const
return the fractional strip (middle of the strip)
void setRun3(bool isRun3)
uint16_t getFullBX() const
return 12-bit full BX.
bool operator>(const CSCCLCTDigi &) const
uint16_t getStrip() const
return halfstrip that goes from 0 to 31 in a (D)CFEB
void setRun3Pattern(const uint16_t pattern)
set pattern
bool getEightStrip() const
get single eight strip bit
uint16_t getStripType() const
return striptype
bool getQuartStrip() const
get single quart strip bit
void setDataWord(const uint16_t newWord, uint16_t &word, const unsigned shift, const unsigned mask)
bool isValid() const
check CLCT validity (1 - valid CLCT)
void setSlope(const uint16_t slope)
set the slope
uint16_t getSlope() const
return the slope
uint16_t getBX() const
return BX
static unsigned const int shift
Log< level::Info, true > LogVerbatim
double bend(double r, double rinv, double stripPitch)
void clear()
clear this CLCT
uint16_t getCFEB() const
return Key CFEB ID
Power< A, B >::type pow(const A &a, const B &b)
void print() const
Print content of digi.
bool operator==(const CSCCLCTDigi &) const
True if the two LCTs have exactly the same members (except the number).
uint16_t getPattern() const
return pattern
static const double slope[3]
std::ostream & operator<<(std::ostream &o, const CSCCLCTDigi &digi)
uint16_t getRun3Pattern() const
return pattern