CMS 3D CMS Logo

CSCALCTDigi.h
Go to the documentation of this file.
1 #ifndef CSCDigi_CSCALCTDigi_h
2 #define CSCDigi_CSCALCTDigi_h
3 
12 #include <cstdint>
13 #include <iosfwd>
14 #include <limits>
15 
16 class CSCALCTDigi {
17 public:
18  enum class Version { Legacy = 0, Run3 };
19 
21  CSCALCTDigi(const uint16_t valid,
22  const uint16_t quality,
23  const uint16_t accel,
24  const uint16_t patternb,
25  const uint16_t keywire,
26  const uint16_t bx,
27  const uint16_t trknmb = 0,
28  const uint16_t hmt = 0,
31  CSCALCTDigi();
32 
34  void clear();
35 
37  bool isValid() const { return valid_; }
38 
40  void setValid(const uint16_t valid) { valid_ = valid; }
41 
43  uint16_t getQuality() const { return quality_; }
44 
46  void setQuality(const uint16_t quality) { quality_ = quality; }
47 
50  uint16_t getAccelerator() const { return accel_; }
51 
53  void setAccelerator(const uint16_t accelerator) { accel_ = accelerator; }
54 
58  uint16_t getCollisionB() const { return patternb_; }
59 
61  void setCollisionB(const uint16_t collision) { patternb_ = collision; }
62 
64  uint16_t getKeyWG() const { return keywire_; }
65 
67  void setKeyWG(const uint16_t keyWG) { keywire_ = keyWG; }
68 
70  uint16_t getBX() const { return bx_; }
71 
73  void setBX(const uint16_t BX) { bx_ = BX; }
74 
76  uint16_t getTrknmb() const { return trknmb_; }
77 
79  void setTrknmb(const uint16_t number) { trknmb_ = number; }
80 
82  uint16_t getFullBX() const { return fullbx_; }
83 
85  void setFullBX(const uint16_t fullbx) { fullbx_ = fullbx; }
86 
88  uint16_t getHMT() const;
89 
91  void setHMT(const uint16_t hmt);
92 
95  bool operator>(const CSCALCTDigi&) const;
96 
98  bool operator==(const CSCALCTDigi&) const;
99 
101  bool operator!=(const CSCALCTDigi&) const;
102 
104  void print() const;
105 
107  void setWireGroup(uint16_t wiregroup) { keywire_ = wiregroup; }
108 
110  bool isRun3() const { return version_ == Version::Run3; }
111 
112  void setRun3(const bool isRun3);
113 
114 private:
115  uint16_t valid_;
116  uint16_t quality_;
117  uint16_t accel_;
118  uint16_t patternb_; // not used since 2007
119  uint16_t keywire_;
120  uint16_t bx_;
121  uint16_t trknmb_;
122  uint16_t fullbx_;
126  uint16_t hmt_;
127 
129 };
130 
131 std::ostream& operator<<(std::ostream& o, const CSCALCTDigi& digi);
132 #endif
CSCALCTDigi::getHMT
uint16_t getHMT() const
return the high multiplicity bits
Definition: CSCALCTDigi.cc:55
CSCALCTDigi::getBX
uint16_t getBX() const
return BX - five low bits of BXN counter tagged by the ALCT
Definition: CSCALCTDigi.h:70
CSCALCTDigi::patternb_
uint16_t patternb_
Definition: CSCALCTDigi.h:118
CSCALCTDigi::Version::Legacy
CSCALCTDigi::clear
void clear()
clear this ALCT
Definition: CSCALCTDigi.cc:43
l1GtPatternGenerator_cfi.bx
bx
Definition: l1GtPatternGenerator_cfi.py:18
CSCALCTDigi::Version::Run3
CSCALCTDigi::print
void print() const
Print content of digi.
Definition: CSCALCTDigi.cc:105
CSCALCTDigi::bx_
uint16_t bx_
Definition: CSCALCTDigi.h:120
CSCALCTDigi::setValid
void setValid(const uint16_t valid)
set valid
Definition: CSCALCTDigi.h:40
CSCALCTDigi::trknmb_
uint16_t trknmb_
Definition: CSCALCTDigi.h:121
validateGeometry_cfg.valid
valid
Definition: validateGeometry_cfg.py:21
EcalTangentSkim_cfg.o
o
Definition: EcalTangentSkim_cfg.py:36
CSCALCTDigi::getKeyWG
uint16_t getKeyWG() const
return key wire group
Definition: CSCALCTDigi.h:64
CSCALCTDigi::valid_
uint16_t valid_
Definition: CSCALCTDigi.h:115
contentValuesFiles.number
number
Definition: contentValuesFiles.py:53
operator<<
std::ostream & operator<<(std::ostream &o, const CSCALCTDigi &digi)
Definition: CSCALCTDigi.cc:118
CSCALCTDigi::keywire_
uint16_t keywire_
Definition: CSCALCTDigi.h:119
CSCALCTDigi::CSCALCTDigi
CSCALCTDigi()
default
Definition: CSCALCTDigi.cc:37
CSCALCTDigi::setHMT
void setHMT(const uint16_t hmt)
set the high multiplicity bits
Definition: CSCALCTDigi.cc:57
CSCALCTDigi::getCollisionB
uint16_t getCollisionB() const
Definition: CSCALCTDigi.h:58
CSCALCTDigi::setRun3
void setRun3(const bool isRun3)
Definition: CSCALCTDigi.cc:59
CSCALCTDigi::setBX
void setBX(const uint16_t BX)
set BX
Definition: CSCALCTDigi.h:73
CSCALCTDigi::getQuality
uint16_t getQuality() const
return quality of a pattern
Definition: CSCALCTDigi.h:43
CSCALCTDigi::operator!=
bool operator!=(const CSCALCTDigi &) const
True if the preceding one is false.
Definition: CSCALCTDigi.cc:96
CSCALCTDigi::operator>
bool operator>(const CSCALCTDigi &) const
Definition: CSCALCTDigi.cc:61
CSCALCTDigi::setAccelerator
void setAccelerator(const uint16_t accelerator)
set accelerator bit
Definition: CSCALCTDigi.h:53
CSCALCTDigi::setKeyWG
void setKeyWG(const uint16_t keyWG)
set key wire group
Definition: CSCALCTDigi.h:67
CSCALCTDigi::fullbx_
uint16_t fullbx_
Definition: CSCALCTDigi.h:122
CSCALCTDigi::setQuality
void setQuality(const uint16_t quality)
set quality
Definition: CSCALCTDigi.h:46
CSCALCTDigi::getFullBX
uint16_t getFullBX() const
return 12-bit full BX.
Definition: CSCALCTDigi.h:82
CSCALCTDigi::quality_
uint16_t quality_
Definition: CSCALCTDigi.h:116
qcdUeDQM_cfi.quality
quality
Definition: qcdUeDQM_cfi.py:31
CSCALCTDigi::getAccelerator
uint16_t getAccelerator() const
Definition: CSCALCTDigi.h:50
CSCALCTDigi
Definition: CSCALCTDigi.h:16
CSCALCTDigi::setFullBX
void setFullBX(const uint16_t fullbx)
Set 12-bit full BX.
Definition: CSCALCTDigi.h:85
CSCALCTDigi::accel_
uint16_t accel_
Definition: CSCALCTDigi.h:117
L1TStage2uGTEmulatorClient_cff.BX
BX
Definition: L1TStage2uGTEmulatorClient_cff.py:9
CSCALCTDigi::isValid
bool isValid() const
check ALCT validity (1 - valid ALCT)
Definition: CSCALCTDigi.h:37
CSCALCTDigi::getTrknmb
uint16_t getTrknmb() const
return track number (1,2)
Definition: CSCALCTDigi.h:76
CSCALCTDigi::isRun3
bool isRun3() const
Distinguish Run-1/2 from Run-3.
Definition: CSCALCTDigi.h:110
CSCALCTDigi::operator==
bool operator==(const CSCALCTDigi &) const
True if all members (except the number) of both ALCTs are equal.
Definition: CSCALCTDigi.cc:85
CSCALCTDigi::setTrknmb
void setTrknmb(const uint16_t number)
Set track number (1,2) after sorting ALCTs.
Definition: CSCALCTDigi.h:79
Version
Definition: InitMessage.h:39
BeamSplash_cfg.version
version
Definition: BeamSplash_cfg.py:45
CSCALCTDigi::setWireGroup
void setWireGroup(uint16_t wiregroup)
set wiregroup number
Definition: CSCALCTDigi.h:107
CSCALCTDigi::setCollisionB
void setCollisionB(const uint16_t collision)
set Collision Pattern B bit
Definition: CSCALCTDigi.h:61
CSCALCTDigi::hmt_
uint16_t hmt_
Definition: CSCALCTDigi.h:126
CSCALCTDigi::version_
Version version_
Definition: CSCALCTDigi.h:128