1 #ifndef FWCore_Framework_LooperFactory_h 2 #define FWCore_Framework_LooperFactory_h 36 namespace eventsetup {
38 class ESProductResolverProvider;
39 class EventSetupsController;
44 std::shared_ptr<T> iComponent,
46 std::shared_ptr<ESProductResolverProvider> pProvider(iComponent);
55 iProvider.
add(pProvider);
64 std::shared_ptr<T> iComponent,
66 std::shared_ptr<EventSetupRecordIntervalFinder> pFinder(iComponent);
77 iProvider.
add(pFinder);
101 std::shared_ptr<base_type>
const& component);
103 template <
class TType>
111 #define DEFINE_FWK_LOOPER(type) \ 112 DEFINE_EDM_PLUGIN(edm::eventsetup::LooperPluginFactory, edm::eventsetup::LooperMaker<type>, #type); \ 113 DEFINE_DESC_FILLER_FOR_EDLOOPERS(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)
static void addTo(EventSetupProvider &iProvider, std::shared_ptr< T > iComponent, ParameterSet const &, bool)
static std::string const & baseType()
static void replaceExisting(EventSetupProvider &iProvider, std::shared_ptr< EDLooperBase > iComponent)
void addFinderTo(EventSetupProvider &iProvider, std::shared_ptr< T > iComponent, const EventSetupRecordIntervalFinder *)
void addProviderTo(EventSetupProvider &iProvider, std::shared_ptr< T > iComponent, const ESProductResolverProvider *)
void add(std::shared_ptr< ESProductResolverProvider >)