CMS 3D CMS Logo

ESProducerLooper.h

Go to the documentation of this file.
00001 #ifndef Framework_ESProducerLooper_h
00002 #define Framework_ESProducerLooper_h
00003 // -*- C++ -*-
00004 //
00005 // Package:     Framework
00006 // Class  :     ESProducerLooper
00007 // 
00016 //
00017 // Original Author:  Chris Jones
00018 //         Created:  Mon Jul 17 09:03:32 EDT 2006
00019 // $Id: ESProducerLooper.h,v 1.1 2006/07/23 01:24:33 valya Exp $
00020 //
00021 
00022 // system include files
00023 
00024 // user include files
00025 #include "FWCore/Framework/interface/ESProducer.h"
00026 #include "FWCore/Framework/interface/EDLooper.h"
00027 #include "FWCore/Framework/interface/EventSetupRecordIntervalFinder.h"
00028 
00029 // forward declarations
00030 namespace edm {
00031   class ESProducerLooper : public ESProducer, public EventSetupRecordIntervalFinder, public EDLooper
00032 {
00033 
00034    public:
00035       ESProducerLooper();
00036       //virtual ~ESProducerLooper();
00037 
00038       // ---------- const member functions ---------------------
00039 
00040       // ---------- static member functions --------------------
00041 
00042       virtual std::set<eventsetup::EventSetupRecordKey> modifyingRecords() const;
00043       // ---------- member functions ---------------------------
00044 
00045    protected:
00046       void setIntervalFor(const eventsetup::EventSetupRecordKey& iKey,
00047                           const IOVSyncValue& iTime, 
00048                           ValidityInterval& oInterval);
00049         
00050       //use this to 'snoop' on what records are being used by the Producer
00051       virtual void registerFactoryWithKey(const eventsetup::EventSetupRecordKey& iRecord ,
00052                                           std::auto_ptr<eventsetup::ProxyFactoryBase>& iFactory,
00053                                           const std::string& iLabel= std::string() );
00054 private:
00055       ESProducerLooper(const ESProducerLooper&); // stop default
00056 
00057       const ESProducerLooper& operator=(const ESProducerLooper&); // stop default
00058 
00059       // ---------- member data --------------------------------
00060 
00061 };
00062 }
00063 
00064 #endif

Generated on Tue Jun 9 17:35:29 2009 for CMSSW by  doxygen 1.5.4