1 #ifndef FWCore_Framework_EventSetupRecordProvider_h 2 #define FWCore_Framework_EventSetupRecordProvider_h 38 namespace eventsetup {
39 struct ComponentDescription;
44 class ParameterSetIDHolder;
83 void add(std::shared_ptr<DataProxyProvider>);
85 void addFinder(std::shared_ptr<EventSetupRecordIntervalFinder>);
113 DataToPreferredProviderMap
const& mp) {
116 void addProxiesToRecord(std::shared_ptr<DataProxyProvider>, DataToPreferredProviderMap
const&);
119 std::shared_ptr<EventSetupRecordIntervalFinder>
swapFinder(std::shared_ptr<EventSetupRecordIntervalFinder> iNew) {
136 std::vector<edm::propagate_const<std::shared_ptr<DataProxyProvider>>>
providers_;
137 std::unique_ptr<std::vector<edm::propagate_const<std::shared_ptr<EventSetupRecordIntervalFinder>>>>
std::map< DataKey, ComponentDescription > DataToPreferredProviderMap
void resetProxyProvider(ParameterSetIDHolder const &, std::shared_ptr< DataProxyProvider > const &)
std::vector< edm::propagate_const< std::shared_ptr< DataProxyProvider > > > providers_
void add(std::shared_ptr< DataProxyProvider >)
EventSetupRecordImpl record_
ValidityInterval const & validityInterval() const
EventSetupRecordImpl & record()
EventSetupRecordImpl const & record() const
bool setValidityIntervalFor(IOVSyncValue const &)
sets interval to this time and returns true if have a valid interval for time
void fillReferencedDataKeys(std::map< DataKey, ComponentDescription const * > &referencedDataKeys) const
void addRecordToIfValid(EventSetupProvider &, IOVSyncValue const &)
std::vector< DataKey > registeredDataKeys() const
The available DataKeys in the Record. The order can be used to request the data by index...
std::unique_ptr< std::vector< edm::propagate_const< std::shared_ptr< EventSetupRecordIntervalFinder > > > > multipleFinders_
bool lastSyncWasBeginOfRun_
bool checkResetTransients()
std::vector< ComponentDescription const * > componentsForRegisteredDataKeys() const
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
void setValidityInterval(ValidityInterval const &)
ValidityInterval validityInterval_
void setDependentProviders(std::vector< std::shared_ptr< EventSetupRecordProvider >> const &)
If the provided Record depends on other Records, here are the dependent Providers.
EventSetupRecordProvider(EventSetupRecordKey const &iKey)
std::shared_ptr< T > & get_underlying_safe(propagate_const< std::shared_ptr< T >> &iP)
std::shared_ptr< EventSetupRecordIntervalFinder > & finder()
void addFinder(std::shared_ptr< EventSetupRecordIntervalFinder >)
For now, only use one finder.
EventSetupRecordKey const key_
std::shared_ptr< DataProxyProvider > proxyProvider(ComponentDescription const &)
returns the first matching DataProxyProvider or a 'null' if not found
EventSetupRecordProvider const & operator=(EventSetupRecordProvider const &)=delete
void addProxiesToRecordHelper(edm::propagate_const< std::shared_ptr< DataProxyProvider >> &dpp, DataToPreferredProviderMap const &mp)
edm::propagate_const< std::shared_ptr< EventSetupRecordIntervalFinder > > finder_
void addProxiesToRecord(std::shared_ptr< DataProxyProvider >, DataToPreferredProviderMap const &)
void getReferencedESProducers(std::map< EventSetupRecordKey, std::vector< ComponentDescription const * >> &referencedESProducers)
std::set< ComponentDescription > proxyProviderDescriptions() const
return information on which DataProxyProviders are supplying information
std::shared_ptr< EventSetupRecordIntervalFinder > swapFinder(std::shared_ptr< EventSetupRecordIntervalFinder > iNew)
std::set< EventSetupRecordKey > dependentRecords() const
Returns the list of Records the provided Record depends on (usually none)
void addRecordTo(EventSetupProvider &)
void usePreferred(DataToPreferredProviderMap const &)
std::shared_ptr< EventSetupRecordIntervalFinder const > finder() const
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)