00001 //------------------------------------------------- 00002 // 00013 // 00014 //-------------------------------------------------- 00015 #ifndef L1MUDT_TRACK_SEG_ETA_H 00016 #define L1MUDT_TRACK_SEG_ETA_H 00017 00018 //--------------- 00019 // C++ Headers -- 00020 //--------------- 00021 00022 #include <iosfwd> 00023 00024 //---------------------- 00025 // Base Class Headers -- 00026 //---------------------- 00027 00028 //------------------------------------ 00029 // Collaborating Class Declarations -- 00030 //------------------------------------ 00031 00032 #include "L1Trigger/DTTrackFinder/src/L1MuDTTrackSegLoc.h" 00033 00034 // --------------------- 00035 // -- Class Interface -- 00036 // --------------------- 00037 00038 class L1MuDTTrackSegEta { 00039 00040 public: 00041 00043 L1MuDTTrackSegEta(); 00044 00046 L1MuDTTrackSegEta(int wheel_id, int sector_id, int station_id, 00047 int position = 0, int quality = 0, int bx = 17); 00048 00050 L1MuDTTrackSegEta(const L1MuDTTrackSegLoc&, 00051 int position = 0, int quality = 0, int bx = 17); 00052 00054 L1MuDTTrackSegEta(const L1MuDTTrackSegEta&); 00055 00057 virtual ~L1MuDTTrackSegEta(); 00058 00060 void reset(); 00061 00063 inline int wheel() const { return m_location.wheel(); } 00064 00066 inline int sector() const { return m_location.sector(); } 00067 00069 inline int station() const { return m_location.station(); } 00070 00072 inline const L1MuDTTrackSegLoc& where() const{ return m_location; } 00073 00075 inline unsigned int position() const { return m_position; } 00076 00078 inline unsigned int quality() const { return m_quality; } 00079 00081 inline int bx() const { return m_bx; } 00082 00084 inline bool empty() const { return m_position == 0; } 00085 00087 L1MuDTTrackSegEta& operator=(const L1MuDTTrackSegEta&); 00088 00090 bool operator==(const L1MuDTTrackSegEta&) const; 00091 00093 bool operator!=(const L1MuDTTrackSegEta&) const; 00094 00096 friend std::ostream& operator<<(std::ostream&, const L1MuDTTrackSegEta&); 00097 00098 private: 00099 00100 L1MuDTTrackSegLoc m_location; // logical location of a TS 00101 unsigned int m_position; // 7 bits 00102 unsigned int m_quality; // 7 bits 00103 int m_bx; // bunch crossing identifier 00104 00105 }; 00106 00107 #endif