CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC4_patch1/src/L1Trigger/GlobalMuonTrigger/src/L1MuGMTEtaProjectionUnit.h

Go to the documentation of this file.
00001 //-------------------------------------------------
00002 //
00011 //
00012 //   $Date: 2007/03/23 18:51:35 $
00013 //   $Revision: 1.2 $
00014 //
00015 //   Author :
00016 //   H. Sakulin            CERN EP 
00017 //
00018 //   Migrated to CMSSW:
00019 //   I. Mikulec
00020 //
00021 //--------------------------------------------------
00022 #ifndef L1TriggerGlobalMuonTrigger_L1MuGMTEtaProjectionUnit_h
00023 #define L1TriggerGlobalMuonTrigger_L1MuGMTEtaProjectionUnit_h
00024 
00025 //---------------
00026 // C++ Headers --
00027 //---------------
00028 
00029 #include <vector>
00030 #include <bitset>
00031 
00032 //----------------------
00033 // Base Class Headers --
00034 //----------------------
00035 
00036 
00037 //------------------------------------
00038 // Collaborating Class Declarations --
00039 //------------------------------------
00040 
00041 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTConfig.h"
00042 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTMatrix.h"
00043 #include "DataFormats/L1GlobalMuonTrigger/interface/L1MuRegionalCand.h"
00044 
00045 class L1MuGMTMipIsoAU;
00046 class L1MuGMTCand;
00047 
00048 
00049 //              ---------------------
00050 //              -- Class Interface --
00051 //              ---------------------
00052 
00053 
00054 class L1MuGMTEtaProjectionUnit {
00055 
00056  public:  
00057 
00059   L1MuGMTEtaProjectionUnit(const L1MuGMTMipIsoAU& miau, int id);
00060 
00062   virtual ~L1MuGMTEtaProjectionUnit();
00063 
00065   void run();
00066     
00068   void reset();
00069         
00071   void print() const;
00072     
00074   inline int id() const { return m_id; }
00075         
00077   inline bool isSelected(int idx) const { return m_eta_select[idx]; }
00078 
00079  private:
00080 
00081   void load();
00082 
00083  private:
00084   typedef std::bitset<14> TEtaBits;
00085 
00086   const L1MuGMTMipIsoAU& m_MIAU;
00087     
00088   // index: (0..31: 16*isFWD + 8*isISO + 4* isRPC + nr )
00089   int m_id; 
00090     
00091   const L1MuRegionalCand* m_mu;
00092 
00093   int m_ieta;   // region index of central region
00094   float m_feta; // fine grain eta inside central region
00095     
00096   TEtaBits m_eta_select;
00097 };
00098   
00099 #endif