Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:23:56

0001 #ifndef SimCalorimetry_HGCSimProducers_HGCDigiProducer_h
0002 #define SimCalorimetry_HGCSimProducers_HGCDigiProducer_h
0003 
0004 #include "SimGeneral/MixingModule/interface/DigiAccumulatorMixMod.h"
0005 #include "SimCalorimetry/HGCalSimProducers/interface/HGCDigitizer.h"
0006 #include "FWCore/Framework/interface/ProducesCollector.h"
0007 
0008 #include <vector>
0009 
0010 namespace edm {
0011   class ConsumesCollector;
0012   namespace stream {
0013     class EDProducerBase;
0014   }
0015   class ParameterSet;
0016   class StreamID;
0017 }  // namespace edm
0018 
0019 namespace CLHEP {
0020   class HepRandomEngine;
0021 }
0022 
0023 class HGCDigiProducer : public DigiAccumulatorMixMod {
0024 public:
0025   HGCDigiProducer(edm::ParameterSet const& pset, edm::ProducesCollector, edm::ConsumesCollector& iC);
0026   HGCDigiProducer(edm::ParameterSet const& pset, edm::ConsumesCollector& iC);
0027 
0028   void initializeEvent(edm::Event const&, edm::EventSetup const&) override;
0029   void finalizeEvent(edm::Event&, edm::EventSetup const&) override;
0030   void accumulate(edm::Event const&, edm::EventSetup const&) override;
0031   void accumulate(PileUpEventPrincipal const&, edm::EventSetup const&, edm::StreamID const&) override;
0032   ~HGCDigiProducer() override = default;
0033 
0034 private:
0035   //the digitizer
0036   bool premixStage1_, premixStage2_;
0037   HGCDigitizer theDigitizer_;
0038   CLHEP::HepRandomEngine* randomEngine_ = nullptr;
0039 };
0040 
0041 #endif