00001 //------------------------------------------------- 00002 // 00018 // 00019 //-------------------------------------------------- 00020 #ifndef L1MUDT_SECTOR_RECEIVER_H 00021 #define L1MUDT_SECTOR_RECEIVER_H 00022 00023 //--------------- 00024 // C++ Headers -- 00025 //--------------- 00026 00027 #include <vector> 00028 00029 //---------------------- 00030 // Base Class Headers -- 00031 //---------------------- 00032 00033 //------------------------------------ 00034 // Collaborating Class Declarations -- 00035 //------------------------------------ 00036 00037 #include <DataFormats/Common/interface/Handle.h> 00038 #include <FWCore/Framework/interface/ESHandle.h> 00039 #include <FWCore/Framework/interface/Event.h> 00040 class L1MuDTSectorProcessor; 00041 class L1MuDTTFParameters; 00042 class L1MuDTTFMasks; 00043 00044 // --------------------- 00045 // -- Class Interface -- 00046 // --------------------- 00047 00048 class L1MuDTSectorReceiver { 00049 00050 public: 00051 00053 L1MuDTSectorReceiver(L1MuDTSectorProcessor& ); 00054 00056 virtual ~L1MuDTSectorReceiver(); 00057 00059 void run(int bx, const edm::Event& e, const edm::EventSetup& c); 00060 00062 void reset(); 00063 00064 private: 00065 00067 void receiveDTBXData(int bx, const edm::Event& e, const edm::EventSetup& c); 00068 00070 void receiveCSCData(int bx, const edm::Event& e, const edm::EventSetup& c); 00071 00073 int address2sector(int adr) const; 00074 00076 int address2wheel(int adr) const; 00077 00078 private: 00079 00080 L1MuDTSectorProcessor& m_sp; 00081 00082 edm::ESHandle< L1MuDTTFParameters > pars; 00083 edm::ESHandle< L1MuDTTFMasks > msks; 00084 00085 }; 00086 00087 #endif