CMS 3D CMS Logo

CSCShowerDigi.h
Go to the documentation of this file.
1 #ifndef DataFormats_CSCDigi_CSCShowerDigi_h
2 #define DataFormats_CSCDigi_CSCShowerDigi_h
3 
4 #include <cstdint>
5 #include <iosfwd>
6 #include <limits>
7 #include <vector>
8 
9 class CSCShowerDigi {
10 public:
11  // Run-3 definitions as provided in DN-20-033
12  enum Run3Shower { kInvalid = 0, kLoose = 1, kNominal = 2, kTight = 3 };
13 
15  CSCShowerDigi(const uint16_t inTimeBits, const uint16_t outTimeBits, const uint16_t cscID);
17  CSCShowerDigi();
18 
20  void clear();
21 
23  bool isValid() const;
24 
25  bool isLooseInTime() const;
26  bool isNominalInTime() const;
27  bool isTightInTime() const;
28  bool isLooseOutOfTime() const;
29  bool isNominalOutOfTime() const;
30  bool isTightOutOfTime() const;
31 
32  uint16_t bitsInTime() const { return bitsInTime_; }
33  uint16_t bitsOutOfTime() const { return bitsOutOfTime_; }
34 
35  uint16_t getCSCID() const { return cscID_; }
36 
38  void setCSCID(const uint16_t c) { cscID_ = c; }
39 
40 private:
41  uint16_t bitsInTime_;
42  uint16_t bitsOutOfTime_;
43  // 4-bit CSC chamber identifier
44  uint16_t cscID_;
45 };
46 
47 std::ostream& operator<<(std::ostream& o, const CSCShowerDigi& digi);
48 #endif
CSCShowerDigi::kTight
Definition: CSCShowerDigi.h:12
CSCShowerDigi
Definition: CSCShowerDigi.h:9
CSCShowerDigi::isLooseInTime
bool isLooseInTime() const
Definition: CSCShowerDigi.cc:26
CSCShowerDigi::kNominal
Definition: CSCShowerDigi.h:12
EcalTangentSkim_cfg.o
o
Definition: EcalTangentSkim_cfg.py:42
operator<<
std::ostream & operator<<(std::ostream &o, const CSCShowerDigi &digi)
Definition: CSCShowerDigi.cc:38
CSCShowerDigi::isLooseOutOfTime
bool isLooseOutOfTime() const
Definition: CSCShowerDigi.cc:32
CSCShowerDigi::kLoose
Definition: CSCShowerDigi.h:12
CSCShowerDigi::bitsInTime
uint16_t bitsInTime() const
Definition: CSCShowerDigi.h:32
CSCShowerDigi::CSCShowerDigi
CSCShowerDigi()
default
Definition: CSCShowerDigi.cc:13
CSCShowerDigi::Run3Shower
Run3Shower
Definition: CSCShowerDigi.h:12
CSCShowerDigi::bitsInTime_
uint16_t bitsInTime_
Definition: CSCShowerDigi.h:41
CSCShowerDigi::isValid
bool isValid() const
data
Definition: CSCShowerDigi.cc:21
CSCShowerDigi::kInvalid
Definition: CSCShowerDigi.h:12
CSCShowerDigi::clear
void clear()
clear this Shower
Definition: CSCShowerDigi.cc:15
CSCShowerDigi::setCSCID
void setCSCID(const uint16_t c)
set cscID
Definition: CSCShowerDigi.h:38
CSCShowerDigi::isNominalOutOfTime
bool isNominalOutOfTime() const
Definition: CSCShowerDigi.cc:34
CSCShowerDigi::bitsOutOfTime_
uint16_t bitsOutOfTime_
Definition: CSCShowerDigi.h:42
CSCShowerDigi::isTightInTime
bool isTightInTime() const
Definition: CSCShowerDigi.cc:30
CSCShowerDigi::isNominalInTime
bool isNominalInTime() const
Definition: CSCShowerDigi.cc:28
CSCShowerDigi::bitsOutOfTime
uint16_t bitsOutOfTime() const
Definition: CSCShowerDigi.h:33
c
auto & c
Definition: CAHitNtupletGeneratorKernelsImpl.h:56
CSCShowerDigi::isTightOutOfTime
bool isTightOutOfTime() const
Definition: CSCShowerDigi.cc:36
CSCShowerDigi::cscID_
uint16_t cscID_
Definition: CSCShowerDigi.h:44
CSCShowerDigi::getCSCID
uint16_t getCSCID() const
Definition: CSCShowerDigi.h:35