CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch13/src/EventFilter/EcalRawToDigi/interface/EcalUnpackerWorkerBase.h

Go to the documentation of this file.
00001 #ifndef EcalUnpackerWorkerBase_H
00002 #define EcalUnpackerWorkerBase_H
00003 
00004 #include "FWCore/Framework/interface/ESHandle.h"
00005 #include "DataFormats/FEDRawData/interface/FEDRawDataCollection.h"
00006 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h"
00007 #include "FWCore/Framework/interface/Event.h"
00008 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00009 
00010 #include "EventFilter/EcalRawToDigi/interface/EcalUnpackerWorkerRecord.h"
00011 #include "EventFilter/EcalRawToDigi/interface/EcalRegionCabling.h"
00012 
00013 
00014 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00015 
00016 #include "EventFilter/EcalRawToDigi/interface/MyWatcher.h"
00017 
00018 class  EcalUnpackerWorkerBase {
00019  public:
00020 
00021   EcalUnpackerWorkerBase(){}
00022   
00023   virtual  ~EcalUnpackerWorkerBase(){}
00024   
00025   // the method that does it all
00026   virtual std::auto_ptr<EcalRecHitCollection> work(const uint32_t & i, const FEDRawDataCollection&) const { return std::auto_ptr<EcalRecHitCollection>(0);}
00027   
00028   // method to set things up once per event
00029   virtual void update(const edm::Event & e) const {};
00030   
00031   virtual void write(edm::Event &e) const {};
00032 
00033   virtual void setHandles(const EcalUnpackerWorkerRecord & iRecord) {};
00034   virtual void set(const edm::EventSetup & es) const {};
00035 
00036   virtual unsigned int maxElementIndex() const {return 0;};
00037   
00038  protected:
00039 
00040   mutable const edm::Event * evt;
00041 
00042 };
00043 
00044 
00045 #endif