1 #ifndef FWCore_Framework_LooperFactory_h
2 #define FWCore_Framework_LooperFactory_h
35 namespace eventsetup {
38 class EventSetupsController;
44 std::shared_ptr<DataProxyProvider> pProvider(iComponent);
48 if(description.
label_ ==
"@main_looper") {
52 pProvider->setDescription(description);
53 iProvider.
add(pProvider);
64 std::shared_ptr<EventSetupRecordIntervalFinder> pFinder(iComponent);
69 if(description.
label_ ==
"@main_looper") {
73 pFinder->setDescriptionForFinder(description);
75 iProvider.
add(pFinder);
88 std::shared_ptr<T> iComponent,
103 std::shared_ptr<base_type>
const& component);
105 template<
class TType>
113 #define DEFINE_FWK_LOOPER(type) \
114 DEFINE_EDM_PLUGIN (edm::eventsetup::LooperPluginFactory,edm::eventsetup::LooperMaker<type>,#type)
static std::string name()
static std::shared_ptr< base_type > getComponentAndRegisterProcess(EventSetupsController &esController, ParameterSet const &iConfiguration)
ComponentFactory< LooperMakerTraits > LooperFactory
static void putComponent(EventSetupsController &esController, ParameterSet const &iConfiguration, std::shared_ptr< base_type > const &component)
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 *)
static void replaceExisting(EventSetupProvider &iProvider, std::shared_ptr< EDLooperBase > iComponent)
void addFinderTo(EventSetupProvider &iProvider, std::shared_ptr< T > iComponent, const EventSetupRecordIntervalFinder *)