Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:29:32

0001 #ifndef SimCalorimetry_HcalSimProducers_HcalDigiProducer_h
0002 #define SimCalorimetry_HcalSimProducers_HcalDigiProducer_h
0003 
0004 #include "FWCore/Framework/interface/ProducesCollector.h"
0005 #include "SimCalorimetry/HcalSimProducers/interface/HcalDigitizer.h"
0006 #include "SimGeneral/MixingModule/interface/DigiAccumulatorMixMod.h"
0007 
0008 #include <vector>
0009 
0010 namespace edm {
0011   class ConsumesCollector;
0012   class ParameterSet;
0013   class StreamID;
0014 }  // namespace edm
0015 
0016 namespace CLHEP {
0017   class HepRandomEngine;
0018 }
0019 
0020 class HcalDigiProducer : public DigiAccumulatorMixMod {
0021 public:
0022   HcalDigiProducer(edm::ParameterSet const &pset, edm::ProducesCollector, edm::ConsumesCollector &iC);
0023 
0024   HcalDigiProducer(edm::ParameterSet const &pset, edm::ConsumesCollector &iC);
0025 
0026   void initializeEvent(edm::Event const &, edm::EventSetup const &) override;
0027   void finalizeEvent(edm::Event &, edm::EventSetup const &) override;
0028   void accumulate(edm::Event const &, edm::EventSetup const &) override;
0029   void accumulate(PileUpEventPrincipal const &, edm::EventSetup const &, edm::StreamID const &) override;
0030   void beginRun(edm::Run const &, edm::EventSetup const &) override;
0031   void endRun(edm::Run const &, edm::EventSetup const &) override;
0032 
0033   void setHBHENoiseSignalGenerator(HcalBaseSignalGenerator *noiseGenerator);
0034   void setHFNoiseSignalGenerator(HcalBaseSignalGenerator *noiseGenerator);
0035   void setHONoiseSignalGenerator(HcalBaseSignalGenerator *noiseGenerator);
0036   void setZDCNoiseSignalGenerator(HcalBaseSignalGenerator *noiseGenerator);
0037   void setQIE10NoiseSignalGenerator(HcalBaseSignalGenerator *noiseGenerator);
0038   void setQIE11NoiseSignalGenerator(HcalBaseSignalGenerator *noiseGenerator);
0039 
0040 private:
0041   HcalDigitizer theDigitizer_;
0042 
0043   CLHEP::HepRandomEngine *randomEngine_ = nullptr;
0044 };
0045 
0046 #endif