CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
L1MuDTTrackSegPhi.h
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
13 //
14 //--------------------------------------------------
15 #ifndef L1MUDT_TRACK_SEG_PHI_H
16 #define L1MUDT_TRACK_SEG_PHI_H
17 
18 //---------------
19 // C++ Headers --
20 //---------------
21 
22 #include <iosfwd>
23 
24 //----------------------
25 // Base Class Headers --
26 //----------------------
27 
28 //------------------------------------
29 // Collaborating Class Declarations --
30 //------------------------------------
31 
33 
34 // ---------------------
35 // -- Class Interface --
36 // ---------------------
37 
39 
40  public:
41 
43  enum TSQuality { Li, Lo, Hi, Ho, LL, HL, HH, Null };
44 
47 
49  L1MuDTTrackSegPhi(int wheel_id, int sector_id, int station_id,
50  int phi = 0, int phib = 0,
51  TSQuality quality = Null, bool tag = false, int bx = 17,
52  bool etaFlag = false);
53 
56  int phi = 0, int phib = 0,
57  TSQuality quality = Null, bool tag = false, int bx = 17,
58  bool etaFlag = false);
59 
62 
64  virtual ~L1MuDTTrackSegPhi();
65 
67  void reset();
68 
70  double phiValue() const;
71 
73  double phibValue() const;
74 
76  inline int wheel() const { return m_location.wheel(); }
77 
79  inline int sector() const { return m_location.sector(); }
80 
82  inline int station() const { return m_location.station(); }
83 
85  inline const L1MuDTTrackSegLoc& where() const{ return m_location; }
86 
88  inline int phi() const { return m_phi; }
89 
91  inline int phib() const { return m_phib; }
92 
94  inline int quality() const { return m_quality; }
95 
97  inline int tag() const { return m_tag; }
98 
100  inline int bx() const { return m_bx; }
101 
103  inline bool etaFlag() const { return m_etaFlag; }
104 
106  inline bool empty() const { return m_quality == Null; }
107 
109  inline void setEtaFlag(bool flag) { m_etaFlag = flag; }
110 
113 
115  bool operator==(const L1MuDTTrackSegPhi&) const;
116 
118  bool operator!=(const L1MuDTTrackSegPhi&) const;
119 
121  friend std::ostream& operator<<(std::ostream&, const TSQuality&);
122 
124  friend std::ostream& operator<<(std::ostream&, const L1MuDTTrackSegPhi&);
125 
126  private:
127 
128  L1MuDTTrackSegLoc m_location; // logical location of TS
129  int m_phi; // 12 bits
130  int m_phib; // 10 bits
131  TSQuality m_quality; // 3 bits
132  bool m_tag; // tag for second TS (of chamber)
133  int m_bx; // bunch crossing identifier
134  bool m_etaFlag; // eta flag (for overlap region)
135 
136 };
137 
138 #endif
int tag() const
return tag (second TS tag)
virtual ~L1MuDTTrackSegPhi()
destructor
long int flag
Definition: mlp_lapack.h:47
bool operator!=(const L1MuDTTrackSegPhi &) const
unequal operator
int quality() const
return quality code
bool etaFlag() const
return eta flag
int station() const
return station
int sector() const
return sector (30 deg)
void reset()
reset phi track segment
int station() const
return station
int phi() const
return phi
int bx() const
return bunch crossing
double phiValue() const
return phi-value in global coordinates [0,2pi]
friend std::ostream & operator<<(std::ostream &, const TSQuality &)
overload output stream operator for phi track segment quality
int phib() const
return phib
bool empty() const
is it an empty phi track segment?
bool operator==(const L1MuDTTrackSegPhi &) const
equal operator
const L1MuDTTrackSegLoc & where() const
return location of phi track segment
TSQuality
quality code of DTBX phi track segments
L1MuDTTrackSegPhi()
default constructor
double phibValue() const
return phib-value in global coordinates [0,2pi]
int sector() const
return sector
int wheel() const
return wheel
L1MuDTTrackSegLoc m_location
L1MuDTTrackSegPhi & operator=(const L1MuDTTrackSegPhi &)
assignment operator
int wheel() const
return wheel
void setEtaFlag(bool flag)
set eta flag