CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_7_hltpatch1/src/L1Trigger/GlobalMuonTrigger/src/L1MuGMTPhiProjectionUnit.h

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