CMS 3D CMS Logo

Public Types | Static Public Member Functions

edm::eventsetup::SourceMakerTraits Struct Reference

#include <SourceFactory.h>

List of all members.

Public Types

typedef
EventSetupRecordIntervalFinder 
base_type

Static Public Member Functions

template<class T >
static void addTo (EventSetupProvider &iProvider, boost::shared_ptr< T > iComponent, ParameterSet const &iConfiguration, bool matchesPreceding)
static boost::shared_ptr
< base_type
getComponentAndRegisterProcess (EventSetupsController &esController, ParameterSet const &iConfiguration)
static void logInfoWhenSharing (ParameterSet const &iConfiguration)
static std::string name ()
static void putComponent (EventSetupsController &esController, ParameterSet const &iConfiguration, boost::shared_ptr< base_type > const &component)
static void replaceExisting (EventSetupProvider &iProvider, boost::shared_ptr< EventSetupRecordIntervalFinder > iComponent)

Detailed Description

Definition at line 55 of file SourceFactory.h.


Member Typedef Documentation

Definition at line 56 of file SourceFactory.h.


Member Function Documentation

template<class T >
static void edm::eventsetup::SourceMakerTraits::addTo ( EventSetupProvider iProvider,
boost::shared_ptr< T iComponent,
ParameterSet const &  iConfiguration,
bool  matchesPreceding 
) [inline, static]

Definition at line 59 of file SourceFactory.h.

References edm::eventsetup::EventSetupProvider::add(), edm::eventsetup::addProviderTo(), and logInfoWhenSharing().

            {
               if (matchesPreceding) {
                  logInfoWhenSharing(iConfiguration);
               }
               //a source does not always have to be a provider
               addProviderTo(iProvider, iComponent, static_cast<const T*>(0));
               boost::shared_ptr<EventSetupRecordIntervalFinder> pFinder(iComponent);
               iProvider.add(pFinder);
            }
boost::shared_ptr< SourceMakerTraits::base_type > edm::eventsetup::SourceMakerTraits::getComponentAndRegisterProcess ( EventSetupsController esController,
ParameterSet const &  iConfiguration 
) [static]

Definition at line 40 of file SourceFactory.cc.

References edm::eventsetup::EventSetupsController::getESSourceAndRegisterProcess(), and edm::eventsetup::EventSetupsController::indexOfNextProcess().

                                                                                            {
         return esController.getESSourceAndRegisterProcess(iConfiguration, esController.indexOfNextProcess());
      }
void edm::eventsetup::SourceMakerTraits::logInfoWhenSharing ( ParameterSet const &  iConfiguration) [static]

Definition at line 51 of file SourceFactory.cc.

References edm::ParameterSet::getParameter(), diffTwoXMLs::label, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by addTo().

                                                                                   {

         std::string edmtype = iConfiguration.getParameter<std::string>("@module_edm_type");
         std::string modtype = iConfiguration.getParameter<std::string>("@module_type");
         std::string label = iConfiguration.getParameter<std::string>("@module_label");
         edm::LogVerbatim("EventSetupSharing") << "Sharing " << edmtype << ": class=" << modtype << " label='" << label << "'";
      }
std::string edm::eventsetup::SourceMakerTraits::name ( void  ) [static]

Definition at line 29 of file SourceFactory.cc.

{ return "CMS EDM Framework ESSource"; }
void edm::eventsetup::SourceMakerTraits::putComponent ( EventSetupsController esController,
ParameterSet const &  iConfiguration,
boost::shared_ptr< base_type > const &  component 
) [static]

Definition at line 45 of file SourceFactory.cc.

References edm::eventsetup::EventSetupsController::indexOfNextProcess(), and edm::eventsetup::EventSetupsController::putESSource().

                                                                                        {
         esController.putESSource(iConfiguration, component, esController.indexOfNextProcess());
      }
void edm::eventsetup::SourceMakerTraits::replaceExisting ( EventSetupProvider iProvider,
boost::shared_ptr< EventSetupRecordIntervalFinder iComponent 
) [static]

Definition at line 32 of file SourceFactory.cc.

References Exception, and edm::errors::LogicError.

                                                                                                                                  {
         throw edm::Exception(edm::errors::LogicError)
            << "SourceMakerTraits::replaceExisting\n"
            << "This function is not implemented and should never be called.\n"
            << "Please report this to a Framework Developer\n";
      }