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