CMS 3D CMS Logo

/data/git/CMSSW_5_3_11_patch5/src/L1Trigger/DTTrackFinder/src/L1MuDTTrackSegEta.h

Go to the documentation of this file.
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