CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
L1MuBMTrackSegPhi.h
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
11 //
12 //--------------------------------------------------
13 #ifndef L1MUBM_TRACK_SEG_PHI_H
14 #define L1MUBM_TRACK_SEG_PHI_H
15 
16 //---------------
17 // C++ Headers --
18 //---------------
19 
20 #include <iosfwd>
21 
22 //----------------------
23 // Base Class Headers --
24 //----------------------
25 
26 //------------------------------------
27 // Collaborating Class Declarations --
28 //------------------------------------
29 
31 
32 // ---------------------
33 // -- Class Interface --
34 // ---------------------
35 
37 
38  public:
39 
41  enum TSQuality { Li, Lo, Hi, Ho, LL, HL, HH, Null };
42 
45 
47  L1MuBMTrackSegPhi(int wheel_id, int sector_id, int station_id,
48  int phi = 0, int phib = 0,
49  TSQuality quality = Null, bool tag = false, int bx = 17,
50  bool etaFlag = false);
51 
54  int phi = 0, int phib = 0,
55  TSQuality quality = Null, bool tag = false, int bx = 17,
56  bool etaFlag = false);
57 
60 
62  virtual ~L1MuBMTrackSegPhi();
63 
65  void reset();
66 
68  double phiValue() const;
69 
71  double phibValue() const;
72 
74  inline int wheel() const { return m_location.wheel(); }
75 
77  inline int sector() const { return m_location.sector(); }
78 
80  inline int station() const { return m_location.station(); }
81 
83  inline const L1MuBMTrackSegLoc& where() const{ return m_location; }
84 
86  inline int phi() const { return m_phi; }
87 
89  inline int phib() const { return m_phib; }
90 
92  inline int quality() const { return m_quality; }
93 
95  inline int tag() const { return m_tag; }
96 
98  inline int bx() const { return m_bx; }
99 
101  inline bool etaFlag() const { return m_etaFlag; }
102 
104  inline bool empty() const { return m_quality == Null; }
105 
107  inline void setEtaFlag(bool flag) { m_etaFlag = flag; }
108 
111 
113  bool operator==(const L1MuBMTrackSegPhi&) const;
114 
116  bool operator!=(const L1MuBMTrackSegPhi&) const;
117 
119  friend std::ostream& operator<<(std::ostream&, const TSQuality&);
120 
122  friend std::ostream& operator<<(std::ostream&, const L1MuBMTrackSegPhi&);
123 
124  private:
125 
126  L1MuBMTrackSegLoc m_location; // logical location of TS
127  int m_phi; // 12 bits
128  int m_phib; // 10 bits
129  TSQuality m_quality; // 3 bits
130  bool m_tag; // tag for second TS (of chamber)
131  int m_bx; // bunch crossing identifier
132  bool m_etaFlag; // eta flag (for overlap region)
133 
134 };
135 
136 #endif
L1MuBMTrackSegLoc m_location
bool operator!=(const L1MuBMTrackSegPhi &) const
unequal operator
int tag() const
return tag (second TS tag)
bool operator==(const L1MuBMTrackSegPhi &) const
equal operator
int wheel() const
return wheel
int wheel() const
return wheel
friend std::ostream & operator<<(std::ostream &, const TSQuality &)
overload output stream operator for phi track segment quality
double phiValue() const
return phi-value in global coordinates [0,2pi]
int phib() const
return phib
const L1MuBMTrackSegLoc & where() const
return location of phi track segment
int sector() const
return sector (30 deg)
L1MuBMTrackSegPhi()
default constructor
int bx() const
return bunch crossing
void reset()
reset phi track segment
void setEtaFlag(bool flag)
set eta flag
L1MuBMTrackSegPhi & operator=(const L1MuBMTrackSegPhi &)
assignment operator
int phi() const
return phi
TSQuality
quality code of BBMX phi track segments
bool etaFlag() const
return eta flag
int station() const
return station
double phibValue() const
return phib-value in global coordinates [0,2pi]
int sector() const
return sector
virtual ~L1MuBMTrackSegPhi()
destructor
int quality() const
return quality code
int station() const
return station
bool empty() const
is it an empty phi track segment?