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 }
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