CMS 3D CMS Logo

L1TrackId.h
Go to the documentation of this file.
1 
9 #ifndef L1CSCTrackFinder_L1TrackId_h
10 #define L1CSCTrackFinder_L1TrackId_h
11 
15 
16 namespace csc {
17 
18  class L1TrackId {
19  public:
20  enum { kRankBitWidth = 6 };
21 
22  L1TrackId();
23  L1TrackId(const unsigned& side, const unsigned& sector);
24  L1TrackId(const csc::L1TrackId&);
25 
26  const L1TrackId& operator=(const csc::L1TrackId&);
27 
28  inline unsigned endcap() const { return id_.endcap(); }
29  inline unsigned sector() const { return CSCTriggerNumbering::triggerSectorFromLabels(id_); }
30  inline unsigned station() const { return id_.station(); }
31 
32  inline unsigned rank() const { return m_rank; }
33  inline unsigned mode() const { return m_mode; }
34  inline unsigned numSegments() const { return 0; } // finish later
35 
36  void setRank(const unsigned& rank);
37  void setMode(const unsigned& mode) { m_mode = mode; }
38  void setOverlap(const unsigned& rank);
39 
40  bool sharesHit(const csc::L1TrackId&) const;
41  inline bool inOverlap() const { return m_overlap; }
42 
43  void overlapMode(const unsigned& rank, int& mode, int& stnA, int& stnB);
44  unsigned encodeLUTMode(const unsigned& rank) const;
45 
46  //void addSegment(const CSCDetId& id, const CSCCorrelatedLCTDigi& digi) { stubs.insertDigi(id,digi); }
47 
49  bool hasME1(const unsigned& rank) const;
50  bool hasME2(const unsigned& rank) const;
51  bool hasME3(const unsigned& rank) const;
52  bool hasME4(const unsigned& rank) const;
53  bool hasMB1(const unsigned& rank) const;
54 
55  inline bool erase() const { return m_erase; }
56 
57  private:
58  unsigned m_rank, m_mode;
60 
62 
63  //CSCCorrelatedLCTDigiCollection stubs;
64  };
65 
66 } // namespace csc
67 
68 #endif
void setRank(const unsigned &rank)
Definition: L1TrackId.cc:44
const L1TrackId & operator=(const csc::L1TrackId &)
Definition: L1TrackId.cc:20
void overlapMode(const unsigned &rank, int &mode, int &stnA, int &stnB)
Definition: L1TrackId.cc:59
unsigned rank() const
Definition: L1TrackId.h:32
bool hasME1(const unsigned &rank) const
Functions to determine which stations are in this track.
Definition: L1TrackId.cc:259
bool inOverlap() const
Definition: L1TrackId.h:41
void setMode(const unsigned &mode)
Definition: L1TrackId.h:37
bool erase() const
Definition: L1TrackId.h:55
bool sharesHit(const csc::L1TrackId &) const
Definition: L1TrackId.cc:32
unsigned mode() const
Definition: L1TrackId.h:33
unsigned endcap() const
Definition: L1TrackId.h:28
unsigned station() const
Definition: L1TrackId.h:30
bool m_overlap
Definition: L1TrackId.h:59
unsigned encodeLUTMode(const unsigned &rank) const
Definition: L1TrackId.cc:139
unsigned m_rank
Definition: L1TrackId.h:58
bool hasME3(const unsigned &rank) const
Definition: L1TrackId.cc:329
CSCDetId id_
Definition: L1TrackId.h:61
unsigned sector() const
Definition: L1TrackId.h:29
unsigned numSegments() const
Definition: L1TrackId.h:34
Definition: L1Track.h:19
bool hasMB1(const unsigned &rank) const
Definition: L1TrackId.cc:378
unsigned m_mode
Definition: L1TrackId.h:58
int station() const
Definition: CSCDetId.h:79
static int triggerSectorFromLabels(int station, int ring, int chamber)
bool hasME2(const unsigned &rank) const
Definition: L1TrackId.cc:289
int endcap() const
Definition: CSCDetId.h:85
bool hasME4(const unsigned &rank) const
Definition: L1TrackId.cc:355
void setOverlap(const unsigned &rank)
Definition: L1TrackId.cc:36