CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 
19  class L1TrackId
20  {
21  public:
22  enum { kRankBitWidth = 6 };
23 
24  L1TrackId();
25  L1TrackId(const unsigned& side, const unsigned& sector);
26  L1TrackId(const csc::L1TrackId&);
27 
28  const L1TrackId& operator=(const csc::L1TrackId&);
29 
30  inline unsigned endcap() const { return id_.endcap(); }
31  inline unsigned sector() const { return CSCTriggerNumbering::triggerSectorFromLabels(id_); }
32  inline unsigned station() const { return id_.station(); }
33 
34  inline unsigned rank() const { return m_rank; }
35  inline unsigned mode() const { return m_mode; }
36  inline unsigned numSegments() const { return 0; } // finish later
37 
38  void setRank(const unsigned& rank);
39  void setMode(const unsigned& mode) { m_mode = mode; }
40  void setOverlap(const unsigned& rank);
41 
42  bool sharesHit(const csc::L1TrackId&) const;
43  inline bool inOverlap() const { return m_overlap; }
44 
45  void overlapMode(const unsigned& rank, int& mode, int& stnA, int& stnB);
46  unsigned encodeLUTMode(const unsigned& rank) const;
47 
48  //void addSegment(const CSCDetId& id, const CSCCorrelatedLCTDigi& digi) { stubs.insertDigi(id,digi); }
49 
51  bool hasME1(const unsigned& rank) const;
52  bool hasME2(const unsigned& rank) const;
53  bool hasME3(const unsigned& rank) const;
54  bool hasME4(const unsigned& rank) const;
55  bool hasMB1(const unsigned& rank) const;
56 
57  inline bool erase() const { return m_erase; }
58 
59  private:
60  unsigned m_rank, m_mode;
62 
64 
65  //CSCCorrelatedLCTDigiCollection stubs;
66  };
67 
68 }
69 
70 #endif
bool sharesHit(const csc::L1TrackId &) const
Definition: L1TrackId.cc:41
unsigned rank() const
Definition: L1TrackId.h:34
void setRank(const unsigned &rank)
Definition: L1TrackId.cc:59
const L1TrackId & operator=(const csc::L1TrackId &)
Definition: L1TrackId.cc:27
void overlapMode(const unsigned &rank, int &mode, int &stnA, int &stnB)
Definition: L1TrackId.cc:78
unsigned numSegments() const
Definition: L1TrackId.h:36
bool hasME1(const unsigned &rank) const
Functions to determine which stations are in this track.
Definition: L1TrackId.cc:267
bool hasME3(const unsigned &rank) const
Definition: L1TrackId.cc:341
void setMode(const unsigned &mode)
Definition: L1TrackId.h:39
unsigned station() const
Definition: L1TrackId.h:32
int endcap() const
Definition: CSCDetId.h:95
unsigned encodeLUTMode(const unsigned &rank) const
Definition: L1TrackId.cc:145
bool m_overlap
Definition: L1TrackId.h:61
unsigned m_rank
Definition: L1TrackId.h:60
CSCDetId id_
Definition: L1TrackId.h:63
bool hasME2(const unsigned &rank) const
Definition: L1TrackId.cc:299
bool erase() const
Definition: L1TrackId.h:57
unsigned m_mode
Definition: L1TrackId.h:60
bool inOverlap() const
Definition: L1TrackId.h:43
static int triggerSectorFromLabels(int station, int ring, int chamber)
bool hasMB1(const unsigned &rank) const
Definition: L1TrackId.cc:394
bool hasME4(const unsigned &rank) const
Definition: L1TrackId.cc:369
unsigned endcap() const
Definition: L1TrackId.h:30
unsigned sector() const
Definition: L1TrackId.h:31
int station() const
Definition: CSCDetId.h:88
unsigned mode() const
Definition: L1TrackId.h:35
void setOverlap(const unsigned &rank)
Definition: L1TrackId.cc:46