CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_1/src/L1Trigger/GlobalMuonTrigger/src/L1MuGMTInputEvent.h

Go to the documentation of this file.
00001 //-------------------------------------------------
00002 //
00003 //   \class L1MuGMTInputEvent
00004 //
00005 //   Description:       Test file for the GMT standalone program. Contains
00006 //                      all the input data the GMT receives (CSC, RPC, DT, GCT)
00007 //
00008 //                
00009 //   $Date: 2007/04/12 13:21:14 $
00010 //   $Revision: 1.3 $
00011 //
00012 //   Author :
00013 //   Tobias Noebauer                 HEPHY Vienna
00014 //
00015 //   Migrated to CMSSW:
00016 //   I. Mikulec
00017 //
00018 //--------------------------------------------------
00019 #ifndef L1TriggerGlobalMuonTrigger_L1MuGMTInputEvent_h
00020 #define L1TriggerGlobalMuonTrigger_L1MuGMTInputEvent_h
00021 
00022 //---------------
00023 // C++ Headers --
00024 //---------------
00025 #include <string>
00026 #include <vector>
00027 #include <map>
00028 
00029 //----------------------
00030 // Base Class Headers --
00031 //----------------------
00032 
00033 //------------------------------------
00034 // Collaborating Class Declarations --
00035 //------------------------------------
00036 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTMatrix.h"
00037 class L1MuRegionalCand;
00038 
00039 //---------------------
00040 //-- Class Interface --
00041 //---------------------
00042 
00043 class L1MuGMTInputEvent {
00044 
00045   public:
00046 
00049     L1MuGMTInputEvent() ;
00050 
00051     // destructor
00052     virtual ~L1MuGMTInputEvent();
00053 
00056     void reset();
00057 
00058     void setRunNumber(unsigned long runnr) { m_runnr=runnr; };
00059 
00060     void setEventNumber(unsigned long eventnr) { m_evtnr=eventnr; };
00061 
00062     void addInputMuon(std::string chipid, const L1MuRegionalCand& inMu);
00063 
00064     //eta = [0,13], phi = [0,17]
00065     void setMipBit(unsigned etaIndex, unsigned phiIndex, bool val) { 
00066       m_mip_bits(etaIndex, phiIndex) = val; };
00067     
00068     //eta = [0,13], phi = [0,17]
00069     void setIsoBit(unsigned etaIndex, unsigned phiIndex, bool val) {
00070       m_iso_bits(etaIndex, phiIndex) = val; };
00071 
00073     unsigned long getRunNumber() const { return m_runnr; };
00074 
00076     unsigned long getEventNumber() const { return m_evtnr; };
00077 
00079     bool isEmpty() const { return (m_runnr == 0L) && (m_evtnr == 0L); };
00080 
00085     const L1MuRegionalCand* getInputMuon(std::string chipid, unsigned index) const;
00086 
00088     const L1MuGMTMatrix<bool>& getMipBits() const { return m_mip_bits; };
00089     
00090     const L1MuGMTMatrix<bool>& getIsoBits() const { return m_iso_bits; };
00091 
00092     const bool& getMipBit(unsigned etaIndex, unsigned phiIndex) { return m_mip_bits(etaIndex, phiIndex); };
00093     const bool& getIsoBit(unsigned etaIndex, unsigned phiIndex) { return m_iso_bits(etaIndex, phiIndex); };
00094     
00095 
00096 
00097   private:
00098     unsigned long m_runnr;
00099     unsigned long m_evtnr;
00100 
00101     std::map<std::string, std::vector <L1MuRegionalCand> > m_inputmuons;
00102 
00103     L1MuGMTMatrix<bool> m_mip_bits;
00104     L1MuGMTMatrix<bool> m_iso_bits;
00105 
00106 
00107 };
00108 
00109 #endif
00110 
00111