CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_1/src/SimGeneral/MixingModule/plugins/MixingWorkerBase.h

Go to the documentation of this file.
00001 #ifndef MixingWorkerBase_h
00002 #define MixingWorkerBase_h
00003 
00015 #include "FWCore/Framework/interface/Event.h"
00016 #include "FWCore/Framework/interface/Principal.h"
00017 #include "Mixing/Base/interface/PileUp.h"
00018 #include "DataFormats/Provenance/interface/EventID.h"
00019 
00020 namespace edm
00021 {
00022   class MixingModule;
00023   class EventSetup;
00024 
00028   class MixingWorkerBase 
00029     {
00030     public:
00031 
00032       /*Normal constructor*/ 
00033       MixingWorkerBase() {}
00034 
00036       virtual ~MixingWorkerBase();
00037 
00039       virtual bool checkSignal(const edm::Event &e)=0;
00040       virtual void createnewEDProduct()=0; 
00041       virtual void addSignals(const edm::Event &e) =0;
00042       virtual void addPileups(const int bcr, const edm::EventPrincipal&,
00043                               unsigned int EventNr, int vertexOffset=0)=0;
00044       virtual void setBcrOffset()=0;
00045       virtual void setSourceOffset(const unsigned int s)=0;
00046       virtual void setTof()=0;
00047       virtual void put(edm::Event &e) =0;
00048       virtual void reload(const edm::EventSetup & setup){};
00049     };
00050 }//edm
00051 
00052 #endif