CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

edm::eventsetup::EventSetupsController Class Reference

#include <EventSetupsController.h>

List of all members.

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_

Detailed Description

Definition at line 39 of file EventSetupsController.h.


Constructor & Destructor Documentation

EventSetupsController::EventSetupsController ( )

Definition at line 38 of file EventSetupsController.cc.

{
}
edm::eventsetup::EventSetupsController::EventSetupsController ( EventSetupsController const &  ) [private]

Member Function Documentation

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)));
}

Member Data Documentation

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().