1 #ifndef FWCore_Framework_EventSetupsController_h 2 #define FWCore_Framework_EventSetupsController_h 40 namespace eventsetup {
42 class DataProxyProvider;
43 class EventSetupProvider;
91 unsigned int maxConcurrentIOVs = 0,
92 bool dumpOptions =
false);
109 std::vector<std::shared_ptr<const EventSetupImpl>>&);
116 unsigned subProcessIndex);
118 std::shared_ptr<DataProxyProvider>
const& component,
119 unsigned subProcessIndex);
122 unsigned subProcessIndex);
124 std::shared_ptr<EventSetupRecordIntervalFinder>
const& component,
125 unsigned subProcessIndex);
133 unsigned subProcessIndex,
134 unsigned precedingProcessIndex,
135 bool& firstProcessWithThisPSet,
136 bool& precedingHasMatchingPSet)
const;
143 unsigned subProcessIndex,
144 unsigned precedingProcessIndex)
const;
147 unsigned subProcessIndex,
148 unsigned precedingProcessIndex)
const;
152 std::vector<propagate_const<std::shared_ptr<EventSetupProvider>>>
const&
providers()
const {
return providers_; }
166 std::vector<propagate_const<std::shared_ptr<EventSetupProvider>>>
providers_;
191 oneapi::tbb::task_group& iGroup,
std::shared_ptr< EventSetupRecordIntervalFinder > const & finder()
std::shared_ptr< EventSetupRecordIntervalFinder > getESSourceAndRegisterProcess(ParameterSet const &pset, unsigned subProcessIndex)
std::vector< unsigned > subProcessIndexes_
void checkESProducerSharing()
std::vector< propagate_const< std::unique_ptr< EventSetupRecordIOVQueue > > > eventSetupRecordIOVQueues_
std::vector< unsigned > & subProcessIndexes()
void putESSource(ParameterSet const &pset, std::shared_ptr< EventSetupRecordIntervalFinder > const &component, unsigned subProcessIndex)
std::vector< unsigned > & subProcessIndexes()
ParameterSet const * getESProducerPSet(ParameterSetID const &psetID, unsigned subProcessIndex) const
void putESProducer(ParameterSet const &pset, std::shared_ptr< DataProxyProvider > const &component, unsigned subProcessIndex)
bool isMatchingESSource(ParameterSetID const &psetID, unsigned subProcessIndex, unsigned precedingProcessIndex) const
std::multimap< ParameterSetID, ESProducerInfo > esproducers_
bool mustFinishConfiguration_
void lookForMatches(ParameterSetID const &psetID, unsigned subProcessIndex, unsigned precedingProcessIndex, bool &firstProcessWithThisPSet, bool &precedingHasMatchingPSet) const
unsigned indexOfNextProcess() const
bool hasNonconcurrentFinder() const
void synchronousEventSetupForInstance(IOVSyncValue const &syncValue, oneapi::tbb::task_group &iGroup, eventsetup::EventSetupsController &espController)
bool isLastMatch(ParameterSetID const &psetID, unsigned subProcessIndex, unsigned precedingProcessIndex) const
std::shared_ptr< DataProxyProvider > getESProducerAndRegisterProcess(ParameterSet const &pset, unsigned subProcessIndex)
std::vector< unsigned > const & subProcessIndexes() const
std::shared_ptr< DataProxyProvider > const & provider()
std::vector< unsigned > const & subProcessIndexes() const
std::multimap< ParameterSetID, ESSourceInfo > essources_
ESProducerInfo(ParameterSet const *ps, std::shared_ptr< DataProxyProvider > const &pr)
bool isMatchingESProducer(ParameterSetID const &psetID, unsigned subProcessIndex, unsigned precedingProcessIndex) const
std::shared_ptr< EventSetupProvider > makeProvider(ParameterSet &, ActivityRegistry *, ParameterSet const *eventSetupPset=nullptr, unsigned int maxConcurrentIOVs=0, bool dumpOptions=false)
std::vector< propagate_const< std::shared_ptr< EventSetupProvider > > > const & providers() const
void initializeEventSetupRecordIOVQueues()
propagate_const< std::shared_ptr< DataProxyProvider > > provider_
void eventSetupForInstanceAsync(IOVSyncValue const &, WaitingTaskHolder const &taskToStartAfterIOVInit, WaitingTaskList &endIOVWaitingTasks, std::vector< std::shared_ptr< const EventSetupImpl >> &)
ParameterSet const * pset() const
ParameterSet const * pset_
ParameterSet const * pset_
EventSetupsController const & operator=(EventSetupsController const &)=delete
ESSourceInfo(ParameterSet const *ps, std::shared_ptr< EventSetupRecordIntervalFinder > const &fi)
std::vector< unsigned > subProcessIndexes_
void finishConfiguration()
constexpr T & get_underlying(propagate_const< T > &)
bool hasNonconcurrentFinder_
bool isFirstMatch(ParameterSetID const &psetID, unsigned subProcessIndex, unsigned precedingProcessIndex) const
void endIOVsAsync(edm::WaitingTaskHolder iEndTask)
DataProxyProvider const * providerGet() const
EventSetupRecordIntervalFinder const * finderGet() const
bool mustFinishConfiguration() const
std::multimap< ParameterSetID, ESProducerInfo > const & esproducers() const
std::multimap< ParameterSetID, ESSourceInfo > const & essources() const
ParameterSet const * pset() const
propagate_const< std::shared_ptr< EventSetupRecordIntervalFinder > > finder_
bool doWeNeedToWaitForIOVsToFinish(IOVSyncValue const &) const
std::vector< propagate_const< std::shared_ptr< EventSetupProvider > > > providers_
NumberOfConcurrentIOVs numberOfConcurrentIOVs_