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