00001 #ifndef RPCDigiProducer_h 00002 #define RPCDigiProducer_h 00003 00004 #include "FWCore/Framework/interface/EDProducer.h" 00005 #include "FWCore/Framework/interface/Event.h" 00006 #include "FWCore/Framework/interface/EventSetup.h" 00007 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00008 #include "SimDataFormats/TrackingHit/interface/PSimHitContainer.h" 00009 #include "SimMuon/RPCDigitizer/src/RPCDigitizer.h" 00010 #include "CondFormats/RPCObjects/interface/RPCStripNoises.h" 00011 #include "CondFormats/DataRecord/interface/RPCStripNoisesRcd.h" 00012 #include "CondFormats/RPCObjects/interface/RPCClusterSize.h" 00013 #include "CondFormats/DataRecord/interface/RPCClusterSizeRcd.h" 00014 00015 class RPCGeometry; 00016 class RPCSimSetUp; 00017 class RPCSynchronizer; 00018 00019 class RPCDigiProducer : public edm::EDProducer 00020 { 00021 public: 00022 00023 typedef RPCDigitizer::RPCDigiSimLinks RPCDigitizerSimLinks; 00024 00025 explicit RPCDigiProducer(const edm::ParameterSet& ps); 00026 virtual ~RPCDigiProducer(); 00027 00028 virtual void beginRun(const edm::Run&, const edm::EventSetup&) override; 00029 00031 virtual void produce(edm::Event& e, const edm::EventSetup& c) override; 00032 00033 void setRPCSetUp(const std::vector<RPCStripNoises::NoiseItem>&, const std::vector<double>&); 00034 00035 private: 00036 00037 RPCDigitizer* theDigitizer; 00038 RPCSimSetUp* theRPCSimSetUp; 00039 00040 //Name of Collection used for create the XF 00041 std::string mix_; 00042 std::string collection_for_XF; 00043 }; 00044 00045 #endif 00046