Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:30:40

0001 #ifndef SimGeneral_PreMixingModule_PreMixingWorker_h
0002 #define SimGeneral_PreMixingModule_PreMixingWorker_h
0003 
0004 #include "FWCore/Framework/interface/Frameworkfwd.h"
0005 
0006 #include <vector>
0007 
0008 namespace edm {
0009   class ModuleCallingContext;
0010 }
0011 class PileupSummaryInfo;
0012 class PileUpEventPrincipal;
0013 
0014 class PreMixingWorker {
0015 public:
0016   PreMixingWorker() = default;
0017   virtual ~PreMixingWorker() = default;
0018 
0019   virtual void beginRun(edm::Run const& iRun, edm::EventSetup const& iSetup) {}
0020   virtual void endRun() {}
0021   virtual void beginLuminosityBlock(edm::LuminosityBlock const& iLumi, edm::EventSetup const& iSetup) {}
0022   virtual void initializeBunchCrossing(edm::Event const& iEvent, edm::EventSetup const& iSetup, int bunchCrossing) {}
0023   virtual void finalizeBunchCrossing(edm::Event& iEvent, edm::EventSetup const& iSetup, int bunchCrossing) {}
0024 
0025   virtual void initializeEvent(edm::Event const& iEvent, edm::EventSetup const& iSetup) = 0;
0026   virtual void addSignals(edm::Event const& iEvent, edm::EventSetup const& iSetup) = 0;
0027   virtual void addPileups(PileUpEventPrincipal const& pep, edm::EventSetup const& iSetup) = 0;
0028   virtual void put(edm::Event& iEvent,
0029                    edm::EventSetup const& iSetup,
0030                    std::vector<PileupSummaryInfo> const& ps,
0031                    int bunchSpacing) = 0;
0032 };
0033 
0034 #endif