#include <EventSetupsController.h>
Public Member Functions | |
void | clearComponents () |
void | eventSetupForInstance (IOVSyncValue const &syncValue) const |
EventSetupsController () | |
void | forceCacheClear () const |
boost::shared_ptr < EventSetupRecordIntervalFinder > const * | getAlreadyMadeESSource (ParameterSet const &pset) const |
boost::shared_ptr < EventSetupProvider > | makeProvider (ParameterSet &) |
void | putESSource (ParameterSet const &pset, boost::shared_ptr< EventSetupRecordIntervalFinder > const &component) |
Private Member Functions | |
EventSetupsController (EventSetupsController const &) | |
EventSetupsController const & | operator= (EventSetupsController const &) |
Private Attributes | |
std::multimap< ParameterSetID, std::pair< ParameterSet const *, boost::shared_ptr < EventSetupRecordIntervalFinder > > > | essources_ |
std::vector< boost::shared_ptr < EventSetupProvider > > | providers_ |
Definition at line 39 of file EventSetupsController.h.
EventSetupsController::EventSetupsController | ( | ) |
Definition at line 38 of file EventSetupsController.cc.
{ }
edm::eventsetup::EventSetupsController::EventSetupsController | ( | EventSetupsController const & | ) | [private] |
void EventSetupsController::clearComponents | ( | ) |
Definition at line 110 of file EventSetupsController.cc.
References essources_.
{ essources_.clear(); }
void EventSetupsController::eventSetupForInstance | ( | IOVSyncValue const & | syncValue | ) | const |
Definition at line 79 of file EventSetupsController.cc.
References evf::utils::esp, and providers_.
{ std::for_each(providers_.begin(), providers_.end(), [&syncValue](boost::shared_ptr<EventSetupProvider> const& esp) { esp->eventSetupForInstance(syncValue); }); }
void EventSetupsController::forceCacheClear | ( | ) | const |
Definition at line 86 of file EventSetupsController.cc.
References evf::utils::esp, and providers_.
{ std::for_each(providers_.begin(), providers_.end(), [](boost::shared_ptr<EventSetupProvider> const& esp) { esp->forceCacheClear(); }); }
boost::shared_ptr< EventSetupRecordIntervalFinder > const * EventSetupsController::getAlreadyMadeESSource | ( | ParameterSet const & | pset | ) | const |
Definition at line 93 of file EventSetupsController.cc.
References asciidump::elements, essources_, edm::ParameterSet::id(), and edm::isTransientEqual().
Referenced by edm::eventsetup::SourceMakerTraits::getAlreadyMadeComponent().
{ auto elements = essources_.equal_range(pset.id()); for (auto it = elements.first; it != elements.second; ++it) { if (isTransientEqual(pset, *it->second.first)) { return &it->second.second; } } return 0; }
boost::shared_ptr< EventSetupProvider > EventSetupsController::makeProvider | ( | ParameterSet & | iPSet | ) |
Definition at line 67 of file EventSetupsController.cc.
References edm::eventsetup::fillEventSetupProvider(), edm::eventsetup::makeEventSetupProvider(), and providers_.
Referenced by edm::SubProcess::SubProcess().
{ boost::shared_ptr<EventSetupProvider> returnValue(makeEventSetupProvider(iPSet) ); fillEventSetupProvider(*this, *returnValue, iPSet); providers_.push_back(returnValue); return returnValue; }
EventSetupsController const& edm::eventsetup::EventSetupsController::operator= | ( | EventSetupsController const & | ) | [private] |
void EventSetupsController::putESSource | ( | ParameterSet const & | pset, |
boost::shared_ptr< EventSetupRecordIntervalFinder > const & | component | ||
) |
Definition at line 104 of file EventSetupsController.cc.
References essources_, and edm::ParameterSet::id().
Referenced by edm::eventsetup::SourceMakerTraits::putComponent().
{ essources_.insert(std::pair<ParameterSetID, std::pair<ParameterSet const*, boost::shared_ptr<EventSetupRecordIntervalFinder> > >(pset.id(), std::pair<ParameterSet const*, boost::shared_ptr<EventSetupRecordIntervalFinder> >(&pset, component))); }
std::multimap<ParameterSetID, std::pair<ParameterSet const*, boost::shared_ptr<EventSetupRecordIntervalFinder> > > edm::eventsetup::EventSetupsController::essources_ [private] |
Definition at line 68 of file EventSetupsController.h.
Referenced by clearComponents(), getAlreadyMadeESSource(), and putESSource().
std::vector<boost::shared_ptr<EventSetupProvider> > edm::eventsetup::EventSetupsController::providers_ [private] |
Definition at line 66 of file EventSetupsController.h.
Referenced by eventSetupForInstance(), forceCacheClear(), and makeProvider().