1 #ifndef FWCore_Framework_EventSetupRecordProvider_h
2 #define FWCore_Framework_EventSetupRecordProvider_h
26 #include "boost/shared_ptr.hpp"
37 namespace eventsetup {
38 struct ComponentDescription;
43 class ParameterSetIDHolder;
82 void add(boost::shared_ptr<DataProxyProvider>);
84 void addFinder(boost::shared_ptr<EventSetupRecordIntervalFinder>);
100 boost::shared_ptr<EventSetupRecordIntervalFinder>
finder()
const {
return finder_; }
115 boost::shared_ptr<EventSetupRecordIntervalFinder>
swapFinder(boost::shared_ptr<EventSetupRecordIntervalFinder> iNew) {
130 boost::shared_ptr<EventSetupRecordIntervalFinder>
finder_;
131 std::vector<boost::shared_ptr<DataProxyProvider> >
providers_;
132 std::auto_ptr<std::vector<boost::shared_ptr<EventSetupRecordIntervalFinder> > >
multipleFinders_;
std::map< DataKey, ComponentDescription > DataToPreferredProviderMap
boost::shared_ptr< EventSetupRecordIntervalFinder > swapFinder(boost::shared_ptr< EventSetupRecordIntervalFinder > iNew)
boost::shared_ptr< DataProxyProvider > proxyProvider(ComponentDescription const &) const
returns the first matching DataProxyProvider or a 'null' if not found
ValidityInterval const & validityInterval() const
std::vector< boost::shared_ptr< DataProxyProvider > > providers_
void addProxiesToRecord(boost::shared_ptr< DataProxyProvider >, DataToPreferredProviderMap const &)
virtual ~EventSetupRecordProvider()
bool setValidityIntervalFor(IOVSyncValue const &)
sets interval to this time and returns true if have a valid interval for time
void getReferencedESProducers(std::map< EventSetupRecordKey, std::vector< ComponentDescription const * > > &referencedESProducers)
void resetProxyProvider(ParameterSetIDHolder const &, boost::shared_ptr< DataProxyProvider > const &)
void addRecordToIfValid(EventSetupProvider &, IOVSyncValue const &)
void add(boost::shared_ptr< DataProxyProvider >)
void addFinder(boost::shared_ptr< EventSetupRecordIntervalFinder >)
For now, only use one finder.
bool lastSyncWasBeginOfRun_
bool checkResetTransients()
std::auto_ptr< std::vector< boost::shared_ptr< EventSetupRecordIntervalFinder > > > multipleFinders_
void setDependentProviders(std::vector< boost::shared_ptr< EventSetupRecordProvider > >const &)
If the provided Record depends on other Records, here are the dependent Providers.
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
void setValidityInterval(ValidityInterval const &)
virtual EventSetupRecord & record()=0
ValidityInterval validityInterval_
EventSetupRecordKey const key_
EventSetupRecordProvider(EventSetupRecordKey const &iKey)
boost::shared_ptr< EventSetupRecordIntervalFinder > finder() const
std::set< ComponentDescription > proxyProviderDescriptions() const
return information on which DataProxyProviders are supplying information
virtual std::set< EventSetupRecordKey > dependentRecords() const
Returns the list of Records the provided Record depends on (usually none)
void fillReferencedDataKeys(std::map< DataKey, ComponentDescription const * > &referencedDataKeys)
void addRecordTo(EventSetupProvider &)
void usePreferred(DataToPreferredProviderMap const &)
boost::shared_ptr< EventSetupRecordIntervalFinder > finder_
void resetProxies()
This will clear the cache's of all the Proxies so that next time they are called they will run...
EventSetupRecordKey const & key() const
void resetRecordToProxyPointers(DataToPreferredProviderMap const &iMap)
EventSetupRecordProvider const & operator=(EventSetupRecordProvider const &)