8#ifndef FRAMEWORK_EVENTPROCESSORFACTORY_H_
9#define FRAMEWORK_EVENTPROCESSORFACTORY_H_
74 const std::string& moduleInstanceName,
85 const std::string& classname,
const std::string& objName,
106 std::string classname;
Base class for provider of conditions information like pedestals, gains, electronics maps,...
Base classes for all user event processing components to extend.
Base class for all providers of conditions objects.
Base class for all event processing components.
Singleton module factory that creates EventProcessor objects.
void registerConditionsObjectProvider(const std::string &classname, int classtype, ConditionsObjectProviderMaker *maker)
Register a conditions object provider.
ConditionsObjectProvider * createConditionsObjectProvider(const std::string &classname, const std::string &objName, const std::string &tagname, const framework::config::Parameters ¶ms, Process &process)
Make a conditions object provider.
static PluginFactory theFactory_
Factory for creating the plugin objects.
int getEventProcessorClasstype(const std::string &) const
Get the class type for the event processor.
PluginFactory()
Constructor.
std::vector< std::string > getEventProcessorClasses() const
Get the classes associated with the processor.
std::map< std::string, PluginInfo > moduleInfo_
A map of names to processor containers.
EventProcessor * createEventProcessor(const std::string &classname, const std::string &moduleInstanceName, Process &process)
Make an event processor.
std::set< std::string > librariesLoaded_
A set of names of loaded libraries.
void loadLibrary(const std::string &libname)
Load a library.
void registerEventProcessor(const std::string &classname, int classtype, EventProcessorMaker *maker)
Register the event processor.
static PluginFactory & getInstance()
Get the factory instance.
Class which represents the process under execution.
Class encapsulating parameters for configuring a processor.
All classes in the ldmx-sw project use this namespace.
EventProcessor * EventProcessorMaker(const std::string &name, Process &process)
Typedef for EventProcessorFactory use.
ConditionsObjectProvider * ConditionsObjectProviderMaker(const std::string &objname, const std::string &tagname, const framework::config::Parameters ¶ms, Process &process)
Typedef for PluginFactory use.
info container to hold classname, class type and maker.