1 #ifndef FWCore_Framework_EventSetupsController_h 2 #define FWCore_Framework_EventSetupsController_h 40 namespace eventsetup {
42 class DataProxyProvider;
43 class EventSetupProvider;
86 std::shared_ptr<EventSetupProvider> makeProvider(
ParameterSet&,
90 void setMaxConcurrentIOVs(
unsigned int nStreams,
unsigned int nConcurrentLumis);
107 std::vector<std::shared_ptr<const EventSetupImpl>>&);
112 bool doWeNeedToWaitForIOVsToFinish(
IOVSyncValue const&)
const;
114 void forceCacheClear();
116 std::shared_ptr<DataProxyProvider> getESProducerAndRegisterProcess(
ParameterSet const&
pset,
117 unsigned subProcessIndex);
119 std::shared_ptr<DataProxyProvider>
const& component,
120 unsigned subProcessIndex);
122 std::shared_ptr<EventSetupRecordIntervalFinder> getESSourceAndRegisterProcess(
ParameterSet const& pset,
123 unsigned subProcessIndex);
125 std::shared_ptr<EventSetupRecordIntervalFinder>
const& component,
126 unsigned subProcessIndex);
128 void finishConfiguration();
129 void clearComponents();
134 unsigned subProcessIndex,
135 unsigned precedingProcessIndex,
136 bool& firstProcessWithThisPSet,
137 bool& precedingHasMatchingPSet)
const;
139 bool isFirstMatch(
ParameterSetID const& psetID,
unsigned subProcessIndex,
unsigned precedingProcessIndex)
const;
141 bool isLastMatch(
ParameterSetID const& psetID,
unsigned subProcessIndex,
unsigned precedingProcessIndex)
const;
144 unsigned subProcessIndex,
145 unsigned precedingProcessIndex)
const;
148 unsigned subProcessIndex,
149 unsigned precedingProcessIndex)
const;
153 std::vector<propagate_const<std::shared_ptr<EventSetupProvider>>>
const&
providers()
const {
return providers_; }
155 std::multimap<ParameterSetID, ESProducerInfo>
const&
esproducers()
const {
return esproducers_; }
157 std::multimap<ParameterSetID, ESSourceInfo>
const&
essources()
const {
return essources_; }
163 void checkESProducerSharing();
164 void initializeEventSetupRecordIOVQueues();
167 std::vector<propagate_const<std::shared_ptr<EventSetupProvider>>>
providers_;
187 bool hasNonconcurrentFinder_ =
false;
188 bool mustFinishConfiguration_ =
true;
std::shared_ptr< EventSetupRecordIntervalFinder > const & finder()
std::vector< unsigned > const & subProcessIndexes() const
std::vector< unsigned > subProcessIndexes_
ParameterSet const * pset() const
std::vector< propagate_const< std::unique_ptr< EventSetupRecordIOVQueue > > > eventSetupRecordIOVQueues_
std::vector< unsigned > & subProcessIndexes()
std::multimap< ParameterSetID, ESSourceInfo > const & essources() const
std::vector< unsigned > & subProcessIndexes()
std::vector< unsigned > const & subProcessIndexes() const
std::multimap< ParameterSetID, ESProducerInfo > esproducers_
std::vector< propagate_const< std::shared_ptr< EventSetupProvider > > > const & providers() const
std::multimap< ParameterSetID, ESProducerInfo > const & esproducers() const
unsigned indexOfNextProcess() const
T & get_underlying(propagate_const< T > &)
std::shared_ptr< DataProxyProvider > const & provider()
DataProxyProvider const * providerGet() const
std::multimap< ParameterSetID, ESSourceInfo > essources_
ESProducerInfo(ParameterSet const *ps, std::shared_ptr< DataProxyProvider > const &pr)
propagate_const< std::shared_ptr< DataProxyProvider > > provider_
bool mustFinishConfiguration() const
bool hasNonconcurrentFinder() const
ParameterSet const * pset_
ParameterSet const * pset_
ESSourceInfo(ParameterSet const *ps, std::shared_ptr< EventSetupRecordIntervalFinder > const &fi)
std::vector< unsigned > subProcessIndexes_
propagate_const< std::shared_ptr< EventSetupRecordIntervalFinder > > finder_
EventSetupRecordIntervalFinder const * finderGet() const
std::vector< propagate_const< std::shared_ptr< EventSetupProvider > > > providers_
ParameterSet const * pset() const
NumberOfConcurrentIOVs numberOfConcurrentIOVs_