Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:04:33

0001 //-------------------------------------------------
0002 //
0003 /**  \class L1MuBMTrackSegLoc
0004  *
0005  *   Logical location of a Track Segment:
0006  *
0007  *   The location of a track segment is
0008  *   given by a triple (wheel, sector, station)
0009  *   with wheel: -3, -2, -1, 0, +1, +2, +3
0010  *   ( -3, +3 : are forward- and backward-endcaps),<BR>
0011  *   sector: 0-11 (30 deg sectors!)<BR>
0012  *   station: 1-5 (station 5=ME13)
0013  *
0014  *
0015  *
0016  *   N. Neumeister            CERN EP 
0017  */
0018 //
0019 //--------------------------------------------------
0020 #ifndef L1MUBM_TRACK_SEG_LOC_H
0021 #define L1MUBM_TRACK_SEG_LOC_H
0022 
0023 //---------------
0024 // C++ Headers --
0025 //---------------
0026 
0027 #include <iosfwd>
0028 
0029 //----------------------
0030 // Base Class Headers --
0031 //----------------------
0032 
0033 //------------------------------------
0034 // Collaborating Class Declarations --
0035 //------------------------------------
0036 
0037 //              ---------------------
0038 //              -- Class Interface --
0039 //              ---------------------
0040 
0041 class L1MuBMTrackSegLoc {
0042 public:
0043   /// default constructor
0044   L1MuBMTrackSegLoc();
0045 
0046   /// constructor
0047   L1MuBMTrackSegLoc(int wheel_id, int sector_id, int station_id);
0048 
0049   /// copy constructor
0050   L1MuBMTrackSegLoc(const L1MuBMTrackSegLoc&);
0051 
0052   /// destructor
0053   virtual ~L1MuBMTrackSegLoc();
0054 
0055   /// return wheel
0056   inline int wheel() const { return m_wheel; }
0057 
0058   /// return sector (30 deg)
0059   inline int sector() const { return m_sector; }
0060 
0061   /// return station
0062   inline int station() const { return m_station; }
0063 
0064   /// assignment operator
0065   L1MuBMTrackSegLoc& operator=(const L1MuBMTrackSegLoc&);
0066 
0067   /// equal operator
0068   bool operator==(const L1MuBMTrackSegLoc&) const;
0069 
0070   /// unequal operator
0071   bool operator!=(const L1MuBMTrackSegLoc&) const;
0072 
0073   /// less operator
0074   bool operator<(const L1MuBMTrackSegLoc&) const;
0075 
0076   /// output stream operator
0077   friend std::ostream& operator<<(std::ostream&, const L1MuBMTrackSegLoc&);
0078 
0079 private:
0080   int m_wheel;
0081   int m_sector;
0082   int m_station;
0083 };
0084 
0085 #endif