1 #ifndef Framework_ComponentMaker_h
2 #define Framework_ComponentMaker_h
23 #include "boost/shared_ptr.hpp"
33 namespace eventsetup {
43 std::string
const& iProcessName,
45 PassID const& iPass)
const;
54 std::string
const& iProcessName,
56 PassID const& iPass)
const = 0;
61 template <
class T,
class TComponent>
73 std::string
const& iProcessName,
75 PassID const& iPass)
const;
106 template<
class T,
class TComponent>
107 boost::shared_ptr<typename ComponentMaker<T,TComponent>::base_type>
110 std::string
const& iProcessName,
112 PassID const& iPass)
const
114 boost::shared_ptr<TComponent> component(
new TComponent(iConfiguration));
116 this->createComponentDescription(iConfiguration,
122 this->setDescriptionForFinder(component.get(),
description);
123 this->setPostConstruction(component.get(),iConfiguration);
124 T::addTo(iProvider, component);
void setDescription(const ComponentDescription &iDescription)
const ComponentMaker & operator=(const ComponentMaker &)
virtual boost::shared_ptr< base_type > addTo(EventSetupProvider &iProvider, ParameterSet const &iConfiguration, std::string const &iProcessName, ReleaseVersion const &iVersion, PassID const &iPass) const =0
virtual ~ComponentMakerBaseHelper()
ComponentDescription createComponentDescription(ParameterSet const &iConfiguration, std::string const &iProcessName, ReleaseVersion const &iVersion, PassID const &iPass) const
void setPostConstruction(DataProxyProvider *iProv, const edm::ParameterSet &iPSet) const
void setDescriptionForFinder(const eventsetup::ComponentDescription &iDescription)
std::string ReleaseVersion
void setPostConstruction(void *, const edm::ParameterSet &) const
void setAppendToDataLabel(const edm::ParameterSet &)
virtual boost::shared_ptr< base_type > addTo(EventSetupProvider &iProvider, ParameterSet const &iConfiguration, std::string const &iProcessName, ReleaseVersion const &iVersion, PassID const &iPass) const
void setDescription(DataProxyProvider *iProv, const ComponentDescription &iDesc) const
void setDescription(void *, const ComponentDescription &) const
void setDescriptionForFinder(void *, const ComponentDescription &) const
void setDescriptionForFinder(EventSetupRecordIntervalFinder *iFinder, const ComponentDescription &iDesc) const