L1MuBMTrackSegLoc

Macros

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
//-------------------------------------------------
//
/**  \class L1MuBMTrackSegLoc
 *
 *   Logical location of a Track Segment:
 *
 *   The location of a track segment is
 *   given by a triple (wheel, sector, station)
 *   with wheel: -3, -2, -1, 0, +1, +2, +3
 *   ( -3, +3 : are forward- and backward-endcaps),<BR>
 *   sector: 0-11 (30 deg sectors!)<BR>
 *   station: 1-5 (station 5=ME13)
 *
 *
 *
 *   N. Neumeister            CERN EP 
 */
//
//--------------------------------------------------
#ifndef L1MUBM_TRACK_SEG_LOC_H
#define L1MUBM_TRACK_SEG_LOC_H

//---------------
// C++ Headers --
//---------------

#include <iosfwd>

//----------------------
// Base Class Headers --
//----------------------

//------------------------------------
// Collaborating Class Declarations --
//------------------------------------

//              ---------------------
//              -- Class Interface --
//              ---------------------

class L1MuBMTrackSegLoc {
public:
  /// default constructor
  L1MuBMTrackSegLoc();

  /// constructor
  L1MuBMTrackSegLoc(int wheel_id, int sector_id, int station_id);

  /// copy constructor
  L1MuBMTrackSegLoc(const L1MuBMTrackSegLoc&);

  /// destructor
  virtual ~L1MuBMTrackSegLoc();

  /// return wheel
  inline int wheel() const { return m_wheel; }

  /// return sector (30 deg)
  inline int sector() const { return m_sector; }

  /// return station
  inline int station() const { return m_station; }

  /// assignment operator
  L1MuBMTrackSegLoc& operator=(const L1MuBMTrackSegLoc&);

  /// equal operator
  bool operator==(const L1MuBMTrackSegLoc&) const;

  /// unequal operator
  bool operator!=(const L1MuBMTrackSegLoc&) const;

  /// less operator
  bool operator<(const L1MuBMTrackSegLoc&) const;

  /// output stream operator
  friend std::ostream& operator<<(std::ostream&, const L1MuBMTrackSegLoc&);

private:
  int m_wheel;
  int m_sector;
  int m_station;
};

#endif