Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:12:08

0001 // -*- C++ -*-
0002 //
0003 // Package:     Framework
0004 // Class  :     ESProducerLooper
0005 //
0006 // Implementation:
0007 //     <Notes on implementation>
0008 //
0009 // Original Author:  Chris Jones
0010 //         Created:  Mon Jul 17 09:34:30 EDT 2006
0011 //
0012 
0013 // system include files
0014 
0015 // user include files
0016 #include "FWCore/Framework/interface/ESProducerLooper.h"
0017 
0018 using namespace edm;
0019 using namespace edm::eventsetup;
0020 //
0021 // constants, enums and typedefs
0022 //
0023 
0024 //
0025 // static data member definitions
0026 //
0027 
0028 //
0029 // constructors and destructor
0030 //
0031 ESProducerLooper::ESProducerLooper() {}
0032 
0033 // ESProducerLooper::ESProducerLooper(const ESProducerLooper& rhs)
0034 // {
0035 //    // do actual copying here;
0036 // }
0037 /*
0038 ESProducerLooper::~ESProducerLooper()
0039 {
0040 }
0041 */
0042 //
0043 // assignment operators
0044 //
0045 // const ESProducerLooper& ESProducerLooper::operator=(const ESProducerLooper& rhs)
0046 // {
0047 //   //An exception safe implementation is
0048 //   ESProducerLooper temp(rhs);
0049 //   swap(rhs);
0050 //
0051 //   return *this;
0052 // }
0053 
0054 //
0055 // member functions
0056 //
0057 void ESProducerLooper::setIntervalFor(const EventSetupRecordKey&, const IOVSyncValue&, ValidityInterval& oInterval) {
0058   //since non of the dependent records are valid, I will create one that is valid
0059   // at the beginning of time BUT must also be checked every request
0060   //oInterval = ValidityInterval(IOVSyncValue::beginOfTime(),
0061   //                             IOVSyncValue::invalidIOVSyncValue());
0062   //   }
0063   //} else {
0064   //Give one valid for all time
0065   oInterval = ValidityInterval(IOVSyncValue::beginOfTime(), IOVSyncValue::endOfTime());
0066   //}
0067 }
0068 
0069 //use this to 'snoop' on what records are being used by the Producer
0070 void ESProducerLooper::registerFactoryWithKey(const eventsetup::EventSetupRecordKey& iRecord,
0071                                               std::unique_ptr<eventsetup::ESProductResolverFactoryBase> iFactory,
0072                                               const std::string& iLabel) {
0073   findingRecordWithKey(iRecord);
0074   ESProductResolverFactoryProducer::registerFactoryWithKey(iRecord, std::move(iFactory), iLabel);
0075 }
0076 
0077 //
0078 // const member functions
0079 //
0080 std::set<eventsetup::EventSetupRecordKey> ESProducerLooper::modifyingRecords() const { return findingForRecords(); }
0081 //
0082 // static member functions
0083 //