00001 #ifndef RPCRawToDigi_RPCPackingModule_H 00002 #define RPCRawToDigi_RPCPackingModule_H 00003 00008 #include "FWCore/Framework/interface/EDProducer.h" 00009 #include "EventFilter/RPCRawToDigi/interface/EventRecords.h" 00010 #include "DataFormats/RPCDigi/interface/RPCDigiCollection.h" 00011 00012 #include <vector> 00013 00014 namespace edm {class ParameterSet;} 00015 namespace edm {class EventSetup; } 00016 namespace edm {class Event; } 00017 00018 class FEDRawData; 00019 class RPCRecordFormatter; 00020 class RPCReadOutMapping; 00021 00022 class RPCPackingModule : public edm::EDProducer { 00023 public: 00024 00026 explicit RPCPackingModule( const edm::ParameterSet& ); 00027 00029 virtual ~RPCPackingModule(); 00030 00032 virtual void produce( edm::Event&, const edm::EventSetup& ); 00033 00034 static std::vector<rpcrawtodigi::EventRecords> eventRecords( 00035 int fedId, int trigger_BX, const RPCDigiCollection* , const RPCRecordFormatter& ); 00036 00037 private: 00038 FEDRawData * rawData( int fedId, unsigned int lvl1_ID, const RPCDigiCollection* , const RPCRecordFormatter& ); 00039 00040 private: 00041 unsigned long eventCounter_; 00042 const RPCReadOutMapping * theCabling; 00043 00044 }; 00045 #endif