1 #ifndef FWCore_Framework_LooperFactory_h 2 #define FWCore_Framework_LooperFactory_h 35 namespace eventsetup {
38 class EventSetupsController;
43 std::shared_ptr<DataProxyProvider> pProvider(iComponent);
47 if (description.
label_ ==
"@main_looper") {
51 pProvider->setDescription(description);
52 iProvider.
add(pProvider);
61 std::shared_ptr<T> iComponent,
63 std::shared_ptr<EventSetupRecordIntervalFinder> pFinder(iComponent);
68 if (description.
label_ ==
"@main_looper") {
72 pFinder->setDescriptionForFinder(description);
74 iProvider.
add(pFinder);
91 static void replaceExisting(
EventSetupProvider& iProvider, std::shared_ptr<EDLooperBase> iComponent);
97 std::shared_ptr<base_type>
const& component);
99 template <
class TType>
107 #define DEFINE_FWK_LOOPER(type) \ 108 DEFINE_EDM_PLUGIN(edm::eventsetup::LooperPluginFactory, edm::eventsetup::LooperMaker<type>, #type)
ComponentFactory< LooperMakerTraits > LooperFactory
void add(std::shared_ptr< DataProxyProvider >)
static void addTo(EventSetupProvider &iProvider, std::shared_ptr< T > iComponent, ParameterSet const &, bool)
void addProviderTo(EventSetupProvider &iProvider, std::shared_ptr< T > iComponent, const DataProxyProvider *)
void addFinderTo(EventSetupProvider &iProvider, std::shared_ptr< T > iComponent, const EventSetupRecordIntervalFinder *)