CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_0/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 "FWCore/Framework/interface/Selector.h"
00018 #include "Mixing/Base/interface/PileUp.h"
00019 #include "DataFormats/Provenance/interface/EventID.h"
00020 
00021 namespace edm
00022 {
00023   class MixingModule;
00024   class EventSetup;
00025 
00029   class MixingWorkerBase 
00030     {
00031     public:
00032 
00033       /*Normal constructor*/ 
00034       MixingWorkerBase() {}
00035 
00037       virtual ~MixingWorkerBase();
00038 
00040       virtual bool checkSignal(const edm::Event &e)=0;
00041       virtual void createnewEDProduct()=0; 
00042       virtual void addSignals(const edm::Event &e) =0;
00043       virtual void addPileups(const int bcr, const edm::EventPrincipal&,
00044                               unsigned int EventNr, int vertexOffset=0)=0;
00045       virtual void setBcrOffset()=0;
00046       virtual void setSourceOffset(const unsigned int s)=0;
00047       virtual void setTof()=0;
00048       virtual void put(edm::Event &e) =0;
00049       virtual void reload(const edm::EventSetup & setup){};
00050     };
00051 }//edm
00052 
00053 #endif