CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
edm::eventsetup::EventSetupRecordProvider Class Reference

#include <EventSetupRecordProvider.h>

Public Types

typedef std::map< DataKey, ComponentDescriptionDataToPreferredProviderMap
 

Public Member Functions

void add (std::shared_ptr< DataProxyProvider >)
 
void addFinder (std::shared_ptr< EventSetupRecordIntervalFinder >)
 For now, only use one finder. More...
 
void addRecordTo (EventSetupProvider &)
 
void addRecordToIfValid (EventSetupProvider &, IOVSyncValue const &)
 
std::vector< ComponentDescription const * > componentsForRegisteredDataKeys () const
 
std::set< EventSetupRecordKeydependentRecords () const
 Returns the list of Records the provided Record depends on (usually none) More...
 
 EventSetupRecordProvider (EventSetupRecordKey const &iKey)
 
void fillReferencedDataKeys (std::map< DataKey, ComponentDescription const * > &referencedDataKeys) const
 
std::shared_ptr< EventSetupRecordIntervalFinder const > finder () const
 
std::shared_ptr< EventSetupRecordIntervalFinder > & finder ()
 
void getReferencedESProducers (std::map< EventSetupRecordKey, std::vector< ComponentDescription const * >> &referencedESProducers)
 
EventSetupRecordKey const & key () const
 
std::shared_ptr< DataProxyProviderproxyProvider (ComponentDescription const &)
 returns the first matching DataProxyProvider or a 'null' if not found More...
 
std::shared_ptr< DataProxyProviderproxyProvider (ParameterSetIDHolder const &)
 returns the first matching DataProxyProvider or a 'null' if not found More...
 
std::set< ComponentDescriptionproxyProviderDescriptions () const
 return information on which DataProxyProviders are supplying information More...
 
EventSetupRecordImpl const & record () const
 
EventSetupRecordImplrecord ()
 
std::vector< DataKeyregisteredDataKeys () const
 The available DataKeys in the Record. The order can be used to request the data by index. More...
 
void resetProxies ()
 This will clear the cache's of all the Proxies so that next time they are called they will run. More...
 
void resetProxyProvider (ParameterSetIDHolder const &, std::shared_ptr< DataProxyProvider > const &)
 
void resetRecordToProxyPointers (DataToPreferredProviderMap const &iMap)
 
void setDependentProviders (std::vector< std::shared_ptr< EventSetupRecordProvider >> const &)
 If the provided Record depends on other Records, here are the dependent Providers. More...
 
void setValidityInterval (ValidityInterval const &)
 
bool setValidityIntervalFor (IOVSyncValue const &)
 sets interval to this time and returns true if have a valid interval for time More...
 
void usePreferred (DataToPreferredProviderMap const &)
 
ValidityInterval const & validityInterval () const
 

Protected Member Functions

void addProxiesToRecord (std::shared_ptr< DataProxyProvider >, DataToPreferredProviderMap const &)
 
void addProxiesToRecordHelper (edm::propagate_const< std::shared_ptr< DataProxyProvider >> &dpp, DataToPreferredProviderMap const &mp)
 
void cacheReset ()
 
std::shared_ptr< EventSetupRecordIntervalFinderswapFinder (std::shared_ptr< EventSetupRecordIntervalFinder > iNew)
 

Private Member Functions

bool checkResetTransients ()
 
 EventSetupRecordProvider (EventSetupRecordProvider const &)=delete
 
EventSetupRecordProvider const & operator= (EventSetupRecordProvider const &)=delete
 
void resetTransients ()
 

Private Attributes

edm::propagate_const< std::shared_ptr< EventSetupRecordIntervalFinder > > finder_
 
EventSetupRecordKey const key_
 
bool lastSyncWasBeginOfRun_
 
std::unique_ptr< std::vector< edm::propagate_const< std::shared_ptr< EventSetupRecordIntervalFinder > > > > multipleFinders_
 
std::vector< edm::propagate_const< std::shared_ptr< DataProxyProvider > > > providers_
 
EventSetupRecordImpl record_
 
ValidityInterval validityInterval_
 

Detailed Description

Definition at line 46 of file EventSetupRecordProvider.h.

Member Typedef Documentation

Definition at line 48 of file EventSetupRecordProvider.h.

Constructor & Destructor Documentation

edm::eventsetup::EventSetupRecordProvider::EventSetupRecordProvider ( EventSetupRecordKey const &  iKey)

Referenced by swapFinder().

edm::eventsetup::EventSetupRecordProvider::EventSetupRecordProvider ( EventSetupRecordProvider const &  )
privatedelete

Member Function Documentation

void EventSetupRecordProvider::add ( std::shared_ptr< DataProxyProvider iProvider)

Definition at line 74 of file EventSetupRecordProvider.cc.

References edm::search_all().

Referenced by edm::eventsetup::EventSetupProvider::finishConfiguration(), record(), counter.Counter::register(), SequenceTypes.Task::remove(), and SequenceTypes.Task::replace().

74  {
75  assert(iProvider->isUsingRecord(key_));
77  assert(!search_all(providers_, pProvider));
78  providers_.emplace_back(iProvider);
79  }
std::vector< edm::propagate_const< std::shared_ptr< DataProxyProvider > > > providers_
bool search_all(ForwardSequence const &s, Datum const &d)
Definition: Algorithms.h:36
void EventSetupRecordProvider::addFinder ( std::shared_ptr< EventSetupRecordIntervalFinder iFinder)

For now, only use one finder.

Definition at line 81 of file EventSetupRecordProvider.cc.

References Exception, and ghostTrackVertexReco_cff::finder.

Referenced by edm::eventsetup::EventSetupProvider::finishConfiguration(), and record().

81  {
82  auto oldFinder = finder();
83  finder_ = iFinder;
84  if (nullptr != multipleFinders_.get()) {
85  multipleFinders_->emplace_back(iFinder);
86  } else {
87  //dependent records set there finders after the multipleFinders_ has been released
88  // but they also have never had a finder set
89  if (nullptr != oldFinder.get()) {
90  cms::Exception("EventSetupMultipleSources")
91  << "An additional source has been added to the Record " << key_.name() << "'\n"
92  << "after all the other sources have been dealt with. This is a logic error, please send email to the "
93  "framework group.";
94  }
95  }
96  }
std::unique_ptr< std::vector< edm::propagate_const< std::shared_ptr< EventSetupRecordIntervalFinder > > > > multipleFinders_
edm::propagate_const< std::shared_ptr< EventSetupRecordIntervalFinder > > finder_
std::shared_ptr< EventSetupRecordIntervalFinder const > finder() const
void EventSetupRecordProvider::addProxiesToRecord ( std::shared_ptr< DataProxyProvider ,
DataToPreferredProviderMap const &   
)
protected

Definition at line 131 of file EventSetupRecordProvider.cc.

Referenced by addProxiesToRecordHelper().

132  {
133  typedef DataProxyProvider::KeyedProxies ProxyList;
135 
136  const ProxyList& keyedProxies(iProvider->keyedProxies(this->key()));
137  ProxyList::const_iterator finishedProxyList(keyedProxies.end());
138  for (ProxyList::const_iterator keyedProxy(keyedProxies.begin()); keyedProxy != finishedProxyList; ++keyedProxy) {
139  PreferredMap::const_iterator itFound = iMap.find(keyedProxy->first);
140  if (iMap.end() != itFound) {
141  if (itFound->second.type_ != keyedProxy->second->providerDescription()->type_ ||
142  itFound->second.label_ != keyedProxy->second->providerDescription()->label_) {
143  //this is not the preferred provider
144  continue;
145  }
146  }
147  record_.add((*keyedProxy).first, (*keyedProxy).second.get());
148  }
149  }
std::map< DataKey, ComponentDescription > DataToPreferredProviderMap
std::vector< std::pair< DataKey, edm::propagate_const< std::shared_ptr< DataProxy > > > > KeyedProxies
bool add(DataKey const &iKey, DataProxy const *iProxy)
void edm::eventsetup::EventSetupRecordProvider::addProxiesToRecordHelper ( edm::propagate_const< std::shared_ptr< DataProxyProvider >> &  dpp,
DataToPreferredProviderMap const &  mp 
)
inlineprotected

Definition at line 112 of file EventSetupRecordProvider.h.

References addProxiesToRecord(), cacheReset(), and edm::get_underlying_safe().

Referenced by resetRecordToProxyPointers(), and usePreferred().

113  {
115  }
std::shared_ptr< T > & get_underlying_safe(propagate_const< std::shared_ptr< T >> &iP)
void addProxiesToRecord(std::shared_ptr< DataProxyProvider >, DataToPreferredProviderMap const &)
void EventSetupRecordProvider::addRecordTo ( EventSetupProvider iEventSetupProvider)

Definition at line 151 of file EventSetupRecordProvider.cc.

References edm::eventsetup::EventSetupProvider::addRecordToEventSetup().

Referenced by record().

151  {
152  record_.set(this->validityInterval());
153  iEventSetupProvider.addRecordToEventSetup(record_);
154  }
ValidityInterval const & validityInterval() const
void set(ValidityInterval const &)
void EventSetupRecordProvider::addRecordToIfValid ( EventSetupProvider ,
IOVSyncValue const &   
)

Definition at line 166 of file EventSetupRecordProvider.cc.

Referenced by record().

167  {
168  if (setValidityIntervalFor(iTime)) {
169  addRecordTo(iEventSetupProvider);
170  }
171  }
bool setValidityIntervalFor(IOVSyncValue const &)
sets interval to this time and returns true if have a valid interval for time
void EventSetupRecordProvider::cacheReset ( )
protected

Definition at line 240 of file EventSetupRecordProvider.cc.

References record.

Referenced by addProxiesToRecordHelper().

bool EventSetupRecordProvider::checkResetTransients ( )
private

Definition at line 242 of file EventSetupRecordProvider.cc.

References record.

Referenced by swapFinder().

242 { return record().transientReset(); }
EventSetupRecordImpl const & record() const
bool transientReset()
returns &#39;true&#39; if a transient request has occurred since the last call to transientReset.
std::vector< ComponentDescription const * > EventSetupRecordProvider::componentsForRegisteredDataKeys ( ) const

Definition at line 292 of file EventSetupRecordProvider.cc.

Referenced by record().

292  {
294  }
std::vector< ComponentDescription const * > componentsForRegisteredDataKeys() const
there is a 1-to-1 correspondence between elements returned and the elements returned from fillRegiste...
std::set< EventSetupRecordKey > EventSetupRecordProvider::dependentRecords ( ) const

Returns the list of Records the provided Record depends on (usually none)

Definition at line 244 of file EventSetupRecordProvider.cc.

References edm::eventsetup::dependencies(), and crabWrapper::key.

Referenced by edm::eventsetup::EventSetupProvider::doRecordsMatch(), and record().

244 { return dependencies(key()); }
std::set< EventSetupRecordKey > dependencies(EventSetupRecordKey const &)
EventSetupRecordKey const & key() const
void EventSetupRecordProvider::fillReferencedDataKeys ( std::map< DataKey, ComponentDescription const * > &  referencedDataKeys) const

Definition at line 222 of file EventSetupRecordProvider.cc.

References makeMuonMisalignmentScenario::components, gen::k, relativeConstraints::keys, and record.

Referenced by edm::eventsetup::EventSetupProvider::fillReferencedDataKeys(), and finder().

223  {
224  std::vector<DataKey> keys;
226  std::vector<ComponentDescription const*> components = record().componentsForRegisteredDataKeys();
227  auto itComponents = components.begin();
228  for (auto const& k : keys) {
229  referencedDataKeys.emplace(k, *itComponents);
230  ++itComponents;
231  }
232  }
std::vector< ComponentDescription const * > componentsForRegisteredDataKeys() const
there is a 1-to-1 correspondence between elements returned and the elements returned from fillRegiste...
EventSetupRecordImpl const & record() const
int k[5][pyjets_maxn]
void fillRegisteredDataKeys(std::vector< DataKey > &oToFill) const
clears the oToFill vector and then fills it with the keys for all registered data keys ...
std::shared_ptr<EventSetupRecordIntervalFinder const> edm::eventsetup::EventSetupRecordProvider::finder ( ) const
inline

Definition at line 101 of file EventSetupRecordProvider.h.

References finder_, and edm::get_underlying_safe().

Referenced by swapFinder().

101 { return get_underlying_safe(finder_); }
std::shared_ptr< T > & get_underlying_safe(propagate_const< std::shared_ptr< T >> &iP)
edm::propagate_const< std::shared_ptr< EventSetupRecordIntervalFinder > > finder_
std::shared_ptr<EventSetupRecordIntervalFinder>& edm::eventsetup::EventSetupRecordProvider::finder ( )
inline

Definition at line 102 of file EventSetupRecordProvider.h.

References fillReferencedDataKeys(), finder_, edm::get_underlying_safe(), getReferencedESProducers(), genParticles_cff::map, and resetRecordToProxyPointers().

102 { return get_underlying_safe(finder_); }
std::shared_ptr< T > & get_underlying_safe(propagate_const< std::shared_ptr< T >> &iP)
edm::propagate_const< std::shared_ptr< EventSetupRecordIntervalFinder > > finder_
void EventSetupRecordProvider::getReferencedESProducers ( std::map< EventSetupRecordKey, std::vector< ComponentDescription const * >> &  referencedESProducers)

Definition at line 217 of file EventSetupRecordProvider.cc.

References record.

Referenced by finder().

218  {
219  record().getESProducers(referencedESProducers[key_]);
220  }
void getESProducers(std::vector< ComponentDescription const * > &esproducers)
EventSetupRecordImpl const & record() const
EventSetupRecordKey const& edm::eventsetup::EventSetupRecordProvider::key ( ) const
inline

Definition at line 55 of file EventSetupRecordProvider.h.

References key_.

55 { return key_; }
EventSetupRecordProvider const& edm::eventsetup::EventSetupRecordProvider::operator= ( EventSetupRecordProvider const &  )
privatedelete

Referenced by swapFinder().

std::shared_ptr< DataProxyProvider > EventSetupRecordProvider::proxyProvider ( ComponentDescription const &  iDesc)

returns the first matching DataProxyProvider or a 'null' if not found

Definition at line 256 of file EventSetupRecordProvider.cc.

References edm::eventsetup::DataProxyProvider::description(), and edm::get_underlying_safe().

Referenced by edm::eventsetup::EventSetupProvider::determinePreferred(), and record().

256  {
257  using std::placeholders::_1;
258  auto itFound = std::find_if(
259  providers_.begin(),
260  providers_.end(),
261  std::bind(std::equal_to<ComponentDescription>(), iDesc, std::bind(&DataProxyProvider::description, _1)));
262  if (itFound == providers_.end()) {
263  return std::shared_ptr<DataProxyProvider>();
264  }
265  return get_underlying_safe(*itFound);
266  }
std::vector< edm::propagate_const< std::shared_ptr< DataProxyProvider > > > providers_
const ComponentDescription & description() const
std::shared_ptr< T > & get_underlying_safe(propagate_const< std::shared_ptr< T >> &iP)
std::shared_ptr< DataProxyProvider > EventSetupRecordProvider::proxyProvider ( ParameterSetIDHolder const &  psetID)

returns the first matching DataProxyProvider or a 'null' if not found

Definition at line 268 of file EventSetupRecordProvider.cc.

References edm::get_underlying_safe(), and edm::eventsetup::ParameterSetIDHolder::psetID().

268  {
269  for (auto& dataProxyProvider : providers_) {
270  if (dataProxyProvider->description().pid_ == psetID.psetID()) {
271  return get_underlying_safe(dataProxyProvider);
272  }
273  }
274  return std::shared_ptr<DataProxyProvider>();
275  }
std::vector< edm::propagate_const< std::shared_ptr< DataProxyProvider > > > providers_
std::shared_ptr< T > & get_underlying_safe(propagate_const< std::shared_ptr< T >> &iP)
std::set< ComponentDescription > EventSetupRecordProvider::proxyProviderDescriptions ( ) const

return information on which DataProxyProviders are supplying information

Definition at line 246 of file EventSetupRecordProvider.cc.

References edm::eventsetup::DataProxyProvider::description(), and create_public_lumi_plots::transform.

Referenced by edm::eventsetup::EventSetupProvider::determinePreferred(), and record().

246  {
247  using std::placeholders::_1;
248  std::set<ComponentDescription> descriptions;
249  std::transform(providers_.begin(),
250  providers_.end(),
251  std::inserter(descriptions, descriptions.end()),
252  std::bind(&DataProxyProvider::description, _1));
253  return descriptions;
254  }
std::vector< edm::propagate_const< std::shared_ptr< DataProxyProvider > > > providers_
const ComponentDescription & description() const
EventSetupRecordImpl const& edm::eventsetup::EventSetupRecordProvider::record ( ) const
inline

Definition at line 57 of file EventSetupRecordProvider.h.

References record_.

57 { return record_; }
EventSetupRecordImpl& edm::eventsetup::EventSetupRecordProvider::record ( )
inline
std::vector< DataKey > EventSetupRecordProvider::registeredDataKeys ( ) const

The available DataKeys in the Record. The order can be used to request the data by index.

Definition at line 286 of file EventSetupRecordProvider.cc.

Referenced by record().

286  {
287  std::vector<DataKey> ret;
289  return ret;
290  }
void fillRegisteredDataKeys(std::vector< DataKey > &oToFill) const
clears the oToFill vector and then fills it with the keys for all registered data keys ...
void EventSetupRecordProvider::resetProxies ( )

This will clear the cache's of all the Proxies so that next time they are called they will run.

Definition at line 207 of file EventSetupRecordProvider.cc.

References edm::for_all(), edm::eventsetup::DataProxyProvider::resetProxies(), and edm::eventsetup::DataProxyProvider::resetProxiesIfTransient().

Referenced by record(), and edm::eventsetup::EventSetupProvider::resetRecordPlusDependentRecords().

207  {
208  using std::placeholders::_1;
209  cacheReset();
211  //some proxies only clear if they were accessed transiently,
212  // since resetProxies resets that flag, calling resetTransients
213  // will force a clear
215  }
void resetProxiesIfTransient(const EventSetupRecordKey &iRecordType)
std::vector< edm::propagate_const< std::shared_ptr< DataProxyProvider > > > providers_
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
Definition: Algorithms.h:14
void resetProxies(const EventSetupRecordKey &iRecordType)
void EventSetupRecordProvider::resetProxyProvider ( ParameterSetIDHolder const &  psetID,
std::shared_ptr< DataProxyProvider > const &  sharedDataProxyProvider 
)

Definition at line 277 of file EventSetupRecordProvider.cc.

References edm::eventsetup::ParameterSetIDHolder::psetID().

Referenced by record().

278  {
279  for (auto& dataProxyProvider : providers_) {
280  if (dataProxyProvider->description().pid_ == psetID.psetID()) {
281  dataProxyProvider = sharedDataProxyProvider;
282  }
283  }
284  }
std::vector< edm::propagate_const< std::shared_ptr< DataProxyProvider > > > providers_
void EventSetupRecordProvider::resetRecordToProxyPointers ( DataToPreferredProviderMap const &  iMap)

Definition at line 234 of file EventSetupRecordProvider.cc.

References addProxiesToRecordHelper(), edm::for_all(), and record.

Referenced by finder().

234  {
235  using std::placeholders::_1;
236  record().clearProxies();
238  }
std::vector< edm::propagate_const< std::shared_ptr< DataProxyProvider > > > providers_
EventSetupRecordImpl const & record() const
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
Definition: Algorithms.h:14
void addProxiesToRecordHelper(edm::propagate_const< std::shared_ptr< DataProxyProvider >> &dpp, DataToPreferredProviderMap const &mp)
void EventSetupRecordProvider::resetTransients ( )
private

Definition at line 159 of file EventSetupRecordProvider.cc.

References edm::for_all(), and edm::eventsetup::DataProxyProvider::resetProxiesIfTransient().

Referenced by swapFinder().

159  {
160  using std::placeholders::_1;
161  if (checkResetTransients()) {
163  }
164  }
void resetProxiesIfTransient(const EventSetupRecordKey &iRecordType)
std::vector< edm::propagate_const< std::shared_ptr< DataProxyProvider > > > providers_
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
Definition: Algorithms.h:14
void EventSetupRecordProvider::setDependentProviders ( std::vector< std::shared_ptr< EventSetupRecordProvider >> const &  )

If the provided Record depends on other Records, here are the dependent Providers.

Definition at line 101 of file EventSetupRecordProvider.cc.

References crabWrapper::key, and AlCaHLTBitMon_ParallelJobs::p.

Referenced by record().

102  {
103  using std::placeholders::_1;
104  std::shared_ptr<DependentRecordIntervalFinder> newFinder =
105  make_shared_noexcept_false<DependentRecordIntervalFinder>(key());
106 
107  std::shared_ptr<EventSetupRecordIntervalFinder> old = swapFinder(newFinder);
108 
109  for (auto const& p : iProviders) {
110  newFinder->addProviderWeAreDependentOn(p);
111  };
112  //if a finder was already set, add it as a depedency. This is done to ensure that the IOVs properly change even if the
113  // old finder does not update each time a dependent record does change
114  if (old.get() != nullptr) {
115  newFinder->setAlternateFinder(old);
116  }
117  }
std::shared_ptr< EventSetupRecordIntervalFinder > swapFinder(std::shared_ptr< EventSetupRecordIntervalFinder > iNew)
EventSetupRecordKey const & key() const
void EventSetupRecordProvider::setValidityInterval ( ValidityInterval const &  )

Definition at line 97 of file EventSetupRecordProvider.cc.

Referenced by record().

97  {
98  validityInterval_ = iInterval;
99  }
bool EventSetupRecordProvider::setValidityIntervalFor ( IOVSyncValue const &  )

sets interval to this time and returns true if have a valid interval for time

Definition at line 173 of file EventSetupRecordProvider.cc.

References edm::EventID::event(), edm::IOVSyncValue::eventID(), and edm::IOVSyncValue::invalidIOVSyncValue().

Referenced by record().

173  {
174  //we want to wait until after the first event of a new run before
175  // we reset any transients just in case some modules get their data at beginRun or beginLumi
176  // and others wait till the first event
177  if (!lastSyncWasBeginOfRun_) {
178  resetTransients();
179  }
180  lastSyncWasBeginOfRun_ = iTime.eventID().event() == 0;
181 
182  if (validityInterval_.validFor(iTime)) {
183  return true;
184  }
185  bool returnValue = false;
186  //need to see if we get a new interval
187  if (nullptr != finder_.get()) {
189 
190  validityInterval_ = finder_->findIntervalFor(key_, iTime);
191  //are we in a valid range?
192  if (validityInterval_.first() != IOVSyncValue::invalidIOVSyncValue()) {
193  returnValue = true;
194  //did we actually change?
195  if (oldFirst != validityInterval_.first()) {
196  //tell all Providers to update
197  for (auto& provider : providers_) {
198  provider->newInterval(key_, validityInterval_);
199  }
200  cacheReset();
201  }
202  }
203  }
204  return returnValue;
205  }
std::vector< edm::propagate_const< std::shared_ptr< DataProxyProvider > > > providers_
bool validFor(const IOVSyncValue &) const
edm::propagate_const< std::shared_ptr< EventSetupRecordIntervalFinder > > finder_
const IOVSyncValue & first() const
static const IOVSyncValue & invalidIOVSyncValue()
Definition: IOVSyncValue.cc:78
std::shared_ptr<EventSetupRecordIntervalFinder> edm::eventsetup::EventSetupRecordProvider::swapFinder ( std::shared_ptr< EventSetupRecordIntervalFinder iNew)
inlineprotected

Definition at line 119 of file EventSetupRecordProvider.h.

References checkResetTransients(), EventSetupRecordProvider(), finder(), operator=(), resetTransients(), and std::swap().

119  {
120  std::swap(iNew, finder());
121  return iNew;
122  }
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
std::shared_ptr< EventSetupRecordIntervalFinder const > finder() const
void EventSetupRecordProvider::usePreferred ( DataToPreferredProviderMap const &  )

In the case of a conflict, sets what Provider to call. This must be called after all providers have been added. An empty map is acceptable.

Definition at line 118 of file EventSetupRecordProvider.cc.

References addProxiesToRecordHelper(), and edm::for_all().

Referenced by record().

118  {
119  using std::placeholders::_1;
121  if (1 < multipleFinders_->size()) {
122  std::shared_ptr<IntersectingIOVRecordIntervalFinder> intFinder =
123  make_shared_noexcept_false<IntersectingIOVRecordIntervalFinder>(key_);
124  intFinder->swapFinders(*multipleFinders_);
125  finder_ = intFinder;
126  }
127  //now we get rid of the temporary
128  multipleFinders_.reset(nullptr);
129  }
std::vector< edm::propagate_const< std::shared_ptr< DataProxyProvider > > > providers_
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
Definition: Algorithms.h:14
std::unique_ptr< std::vector< edm::propagate_const< std::shared_ptr< EventSetupRecordIntervalFinder > > > > multipleFinders_
void addProxiesToRecordHelper(edm::propagate_const< std::shared_ptr< DataProxyProvider >> &dpp, DataToPreferredProviderMap const &mp)
edm::propagate_const< std::shared_ptr< EventSetupRecordIntervalFinder > > finder_
ValidityInterval const& edm::eventsetup::EventSetupRecordProvider::validityInterval ( ) const
inline

Definition at line 54 of file EventSetupRecordProvider.h.

References validityInterval_.

Member Data Documentation

edm::propagate_const<std::shared_ptr<EventSetupRecordIntervalFinder> > edm::eventsetup::EventSetupRecordProvider::finder_
private

Definition at line 135 of file EventSetupRecordProvider.h.

Referenced by finder().

EventSetupRecordKey const edm::eventsetup::EventSetupRecordProvider::key_
private

Definition at line 133 of file EventSetupRecordProvider.h.

Referenced by key().

bool edm::eventsetup::EventSetupRecordProvider::lastSyncWasBeginOfRun_
private

Definition at line 139 of file EventSetupRecordProvider.h.

std::unique_ptr<std::vector<edm::propagate_const<std::shared_ptr<EventSetupRecordIntervalFinder> > > > edm::eventsetup::EventSetupRecordProvider::multipleFinders_
private

Definition at line 138 of file EventSetupRecordProvider.h.

std::vector<edm::propagate_const<std::shared_ptr<DataProxyProvider> > > edm::eventsetup::EventSetupRecordProvider::providers_
private

Definition at line 136 of file EventSetupRecordProvider.h.

EventSetupRecordImpl edm::eventsetup::EventSetupRecordProvider::record_
private

Definition at line 132 of file EventSetupRecordProvider.h.

Referenced by record().

ValidityInterval edm::eventsetup::EventSetupRecordProvider::validityInterval_
private

Definition at line 134 of file EventSetupRecordProvider.h.

Referenced by validityInterval().