00001 //------------------------------------------------- 00002 // 00032 // 00033 // $Date: 2007/03/23 18:51:35 $ 00034 // $Revision: 1.2 $ 00035 // 00036 // Author : 00037 // H. Sakulin CERN EP 00038 // 00039 // Migrated to CMSSW: 00040 // I. Mikulec 00041 // 00042 //-------------------------------------------------- 00043 #ifndef L1TriggerGlobalMuonTrigger_L1MuGMTCancelOutUnit_h 00044 #define L1TriggerGlobalMuonTrigger_L1MuGMTCancelOutUnit_h 00045 00046 //--------------- 00047 // C++ Headers -- 00048 //--------------- 00049 00050 #include <vector> 00051 00052 //---------------------- 00053 // Base Class Headers -- 00054 //---------------------- 00055 00056 //------------------------------------ 00057 // Collaborating Class Declarations -- 00058 //------------------------------------ 00059 00060 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTMatcher.h" 00061 00062 class L1MuGlobalMuonTrigger; 00063 00064 // --------------------- 00065 // -- Class Interface -- 00066 // --------------------- 00067 00068 00069 class L1MuGMTCancelOutUnit { 00070 00071 public: 00073 L1MuGMTCancelOutUnit(const L1MuGlobalMuonTrigger& gmt, int id); 00074 00076 virtual ~L1MuGMTCancelOutUnit(); 00077 00079 void run(); 00080 00082 void reset(); 00083 00085 void print(); 00086 00088 inline int id() const { return m_id; } 00089 00091 const bool cancelMyChipMuon(int idx) const { return m_MyChipCancelbits[idx]; } 00092 00094 const bool cancelOtherChipMuon(int idx) const { return m_OtherChipCancelbits[idx]; } 00095 00096 private: 00097 void decide(); 00098 00099 private: 00100 00101 const L1MuGlobalMuonTrigger& m_gmt; 00102 int m_id; 00103 00104 L1MuGMTMatcher m_matcher; 00105 std::vector<bool> m_MyChipCancelbits; 00106 std::vector<bool> m_OtherChipCancelbits; 00107 }; 00108 00109 #endif