CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/RecoTracker/RingESSource/interface/RingESSource.h

Go to the documentation of this file.
00001 #ifndef RECOTRACKER_RINGESSOURCE_H
00002 #define RECOTRACKER_RINGESSOURCE_H
00003 
00004 //
00005 // Package:         RecoTracker/RingESSource
00006 // Class:           RingESSource
00007 // 
00008 // Description:     Reads in ASCII dump of Rings
00009 //                  and provides it to the event.
00010 //
00011 // Original Author: Oliver Gutsche, gutsche@fnal.gov
00012 // Created:         Thu Oct  5 01:35:14 UTC 2006
00013 //
00014 // $Author: gutsche $
00015 // $Date: 2007/03/15 20:16:47 $
00016 // $Revision: 1.2 $
00017 //
00018 
00019 // system include files
00020 #include <memory>
00021 #include <string>
00022 
00023 // user include files
00024 #include "FWCore/Framework/interface/SourceFactory.h"
00025 #include "FWCore/Framework/interface/ESProducer.h"
00026 #include "FWCore/Framework/interface/EventSetupRecordIntervalFinder.h"
00027 
00028 #include "FWCore/Framework/interface/ESHandle.h"
00029 
00030 #include "RecoTracker/RingRecord/interface/Rings.h"
00031 #include "RecoTracker/RingRecord/interface/RingRecord.h"
00032 
00033 //
00034 // class declaration
00035 //
00036 
00037 class RingESSource : public edm::ESProducer, public edm::EventSetupRecordIntervalFinder {
00038 
00039  public:
00040 
00041   RingESSource(const edm::ParameterSet&);
00042   ~RingESSource();
00043 
00044   typedef std::auto_ptr<Rings> ReturnType;
00045 
00046   ReturnType produce(const RingRecord&);
00047 
00048  protected:
00049 
00050   virtual void setIntervalFor(const edm::eventsetup::EventSetupRecordKey &, const edm::IOVSyncValue &, edm::ValidityInterval &); 
00051 
00052  private:
00053 
00054   // ----------member data ---------------------------
00055   std::string fileName_;
00056   Rings *rings_;
00057   
00058 };
00059 
00060 #endif