Go to the documentation of this file.00001 #ifndef SimGeneral_MixingModule_DigiAccumulatorMixMod_h
00002 #define SimGeneral_MixingModule_DigiAccumulatorMixMod_h
00003
00004
00005
00006
00007
00016
00017
00018
00019
00020
00021
00022 #include <vector>
00023
00024
00025
00026
00027
00028 namespace edm {
00029 class Event;
00030 class EventPrincipal;
00031 class EventSetup;
00032 class LuminosityBlock;
00033 class Run;
00034 }
00035
00036 class PileUpEventPrincipal;
00037
00038 class DigiAccumulatorMixMod {
00039
00040 public:
00041 DigiAccumulatorMixMod();
00042
00043 virtual ~DigiAccumulatorMixMod();
00044
00045
00046
00047
00048
00049
00050
00051 virtual void initializeEvent(edm::Event const& event, edm::EventSetup const& setup) = 0;
00052
00053
00054 virtual void accumulate(edm::Event const& event, edm::EventSetup const& setup) = 0;
00055
00056
00057 virtual void accumulate(PileUpEventPrincipal const& event, edm::EventSetup const& setup) = 0;
00058
00059
00060
00061 virtual void finalizeEvent(edm::Event& event, edm::EventSetup const& setup) = 0;
00062
00063
00064 virtual void initializeBunchCrossing(edm::Event const& event, edm::EventSetup const& setup, int bunchCrossing) {}
00065
00066
00067
00068 virtual void finalizeBunchCrossing(edm::Event& event, edm::EventSetup const& setup, int bunchCrossing) {}
00069
00070 virtual void beginRun(edm::Run const& run, edm::EventSetup const& setup) {}
00071 virtual void endRun(edm::Run const& run, edm::EventSetup const& setup) {}
00072 virtual void beginLuminosityBlock(edm::LuminosityBlock const& lumi, edm::EventSetup const& setup) {}
00073 virtual void endLuminosityBlock(edm::LuminosityBlock const& lumi, edm::EventSetup const& setup) {}
00074
00075 private:
00076 DigiAccumulatorMixMod(DigiAccumulatorMixMod const&);
00077
00078 DigiAccumulatorMixMod const& operator=(DigiAccumulatorMixMod const&);
00079
00080
00081 };
00082
00083 #endif