CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/CondFormats/L1TObjects/interface/L1MuDTEtaPattern.h

Go to the documentation of this file.
00001 //-------------------------------------------------
00002 //
00020 //
00021 //--------------------------------------------------
00022 #ifndef L1MUDT_ETA_PATTERN_H
00023 #define L1MUDT_ETA_PATTERN_H
00024 
00025 //---------------
00026 // C++ Headers --
00027 //---------------
00028 
00029 #include <iosfwd>
00030 #include <string>
00031 
00032 //----------------------
00033 // Base Class Headers --
00034 //----------------------
00035 
00036 
00037 //------------------------------------
00038 // Collaborating Class Declarations --
00039 //------------------------------------
00040 
00041 //              ---------------------
00042 //              -- Class Interface --
00043 //              ---------------------
00044 
00045 class L1MuDTEtaPattern {
00046 
00047   public:
00048  
00050     L1MuDTEtaPattern();
00051 
00053     L1MuDTEtaPattern(int id, int w1, int w2, int w3, int p1, int p2, int p3, 
00054                      int eta, int qual); 
00055 
00056     L1MuDTEtaPattern(int id, const std::string& pat, int eta, int qual);
00057                        
00059     L1MuDTEtaPattern(const L1MuDTEtaPattern&);
00060 
00062     virtual ~L1MuDTEtaPattern();
00063 
00065     inline int id() const { return m_id; }
00066     
00068     inline int eta() const { return m_eta; }
00069     
00071     inline int quality() const { return m_qual; }
00072 
00074     inline int wheel(int station) const { return m_wheel[station-1]; }
00075     
00077     inline int position(int station) const { return m_position[station-1]; }
00078 
00080     L1MuDTEtaPattern& operator=(const L1MuDTEtaPattern&);
00081 
00083     bool operator==(const L1MuDTEtaPattern&) const;
00084     
00086     bool operator!=(const L1MuDTEtaPattern&) const;
00087   
00089     friend std::ostream& operator<<(std::ostream&, const L1MuDTEtaPattern&);
00090 
00092     friend std::istream& operator>>(std::istream&, L1MuDTEtaPattern&);
00093     
00094   private:
00095  
00096     short m_id;
00097     short m_wheel[3];           // -2, -1, 0, +1, +2
00098     short m_position[3];          // position in wheel [1,7], 0 = empty
00099     short m_eta;                  // eta code: [-32, +32]
00100     short m_qual;                 // quality code: [0,26] 
00101   
00102 };
00103   
00104 #endif