1 #ifndef FWCore_Framework_LooperFactory_h
2 #define FWCore_Framework_LooperFactory_h
23 #include "boost/shared_ptr.hpp"
34 namespace eventsetup {
40 boost::shared_ptr<DataProxyProvider> pProvider(iComponent);
44 if(description.
label_ ==
"@main_looper") {
48 pProvider->setDescription(description);
49 iProvider.
add(pProvider);
60 boost::shared_ptr<EventSetupRecordIntervalFinder> pFinder(iComponent);
65 if(description.
label_ ==
"@main_looper") {
69 pFinder->setDescriptionForFinder(description);
71 iProvider.
add(pFinder);
81 static std::string
name();
91 template<
class TType>
99 #define DEFINE_FWK_LOOPER(type) \
100 DEFINE_EDM_PLUGIN (edm::eventsetup::LooperPluginFactory,edm::eventsetup::LooperMaker<type>,#type)
static std::string name()
void addFinderTo(EventSetupProvider &iProvider, boost::shared_ptr< T > iComponent, const EventSetupRecordIntervalFinder *)
ComponentFactory< LooperMakerTraits > LooperFactory
void add(boost::shared_ptr< DataProxyProvider >)
void addProviderTo(EventSetupProvider &iProvider, boost::shared_ptr< T > iComponent, const DataProxyProvider *)
static void addTo(EventSetupProvider &iProvider, boost::shared_ptr< T > iComponent)