CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/FWCore/Framework/src/ESProducerLooper.cc

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //
00003 // Package:     Framework
00004 // Class  :     ESProducerLooper
00005 // 
00006 // Implementation:
00007 //     <Notes on implementation>
00008 //
00009 // Original Author:  Chris Jones
00010 //         Created:  Mon Jul 17 09:34:30 EDT 2006
00011 // $Id: ESProducerLooper.cc,v 1.2 2006/09/01 18:16:42 wmtan Exp $
00012 //
00013 
00014 // system include files
00015 
00016 // user include files
00017 #include "FWCore/Framework/interface/ESProducerLooper.h"
00018 
00019 using namespace edm;
00020 using namespace edm::eventsetup;
00021 //
00022 // constants, enums and typedefs
00023 //
00024 
00025 //
00026 // static data member definitions
00027 //
00028 
00029 //
00030 // constructors and destructor
00031 //
00032 ESProducerLooper::ESProducerLooper()
00033 {
00034 }
00035 
00036 // ESProducerLooper::ESProducerLooper(const ESProducerLooper& rhs)
00037 // {
00038 //    // do actual copying here;
00039 // }
00040 /*
00041 ESProducerLooper::~ESProducerLooper()
00042 {
00043 }
00044 */
00045 //
00046 // assignment operators
00047 //
00048 // const ESProducerLooper& ESProducerLooper::operator=(const ESProducerLooper& rhs)
00049 // {
00050 //   //An exception safe implementation is
00051 //   ESProducerLooper temp(rhs);
00052 //   swap(rhs);
00053 //
00054 //   return *this;
00055 // }
00056 
00057 //
00058 // member functions
00059 //
00060 void 
00061 ESProducerLooper::setIntervalFor(const EventSetupRecordKey&,
00062                                  const IOVSyncValue&, 
00063                                  ValidityInterval& oInterval)
00064 {
00065   //since non of the dependent records are valid, I will create one that is valid
00066   // at the beginning of time BUT must also be checked every request
00067   //oInterval = ValidityInterval(IOVSyncValue::beginOfTime(),
00068   //                             IOVSyncValue::invalidIOVSyncValue());
00069  //   }
00070   //} else {
00071     //Give one valid for all time
00072     oInterval = ValidityInterval(IOVSyncValue::beginOfTime(),
00073                                  IOVSyncValue::endOfTime());
00074   //}
00075 }
00076 
00077 //use this to 'snoop' on what records are being used by the Producer
00078 void 
00079 ESProducerLooper::registerFactoryWithKey(const eventsetup::EventSetupRecordKey& iRecord ,
00080                                          std::auto_ptr<eventsetup::ProxyFactoryBase>& iFactory,
00081                                          const std::string& iLabel )
00082 {
00083   findingRecordWithKey(iRecord);
00084   ESProxyFactoryProducer::registerFactoryWithKey(iRecord, iFactory,iLabel);
00085 }
00086 
00087 //
00088 // const member functions
00089 //
00090 std::set<eventsetup::EventSetupRecordKey>
00091 ESProducerLooper::modifyingRecords() const {
00092   return findingForRecords();
00093 }
00094 //
00095 // static member functions
00096 //