LDMX Software
|
Singleton module factory that creates EventProcessor objects. More...
#include <PluginFactory.h>
Classes | |
struct | PluginInfo |
info container to hold classname, class type and maker. More... | |
Public Member Functions | |
void | registerEventProcessor (const std::string &classname, int classtype, EventProcessorMaker *maker) |
Register the event processor. | |
void | registerConditionsObjectProvider (const std::string &classname, int classtype, ConditionsObjectProviderMaker *maker) |
Register a conditions object provider. | |
std::vector< std::string > | getEventProcessorClasses () const |
Get the classes associated with the processor. | |
int | getEventProcessorClasstype (const std::string &) const |
Get the class type for the event processor. | |
EventProcessor * | createEventProcessor (const std::string &classname, const std::string &moduleInstanceName, Process &process) |
Make an event processor. | |
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. | |
void | loadLibrary (const std::string &libname) |
Load a library. | |
Static Public Member Functions | |
static PluginFactory & | getInstance () |
Get the factory instance. | |
Private Member Functions | |
PluginFactory () | |
Constructor. | |
Private Attributes | |
std::map< std::string, PluginInfo > | moduleInfo_ |
A map of names to processor containers. | |
std::set< std::string > | librariesLoaded_ |
A set of names of loaded libraries. | |
Static Private Attributes | |
static PluginFactory | theFactory_ |
Factory for creating the plugin objects. | |
Singleton module factory that creates EventProcessor objects.
Definition at line 26 of file PluginFactory.h.
|
private |
ConditionsObjectProvider * framework::PluginFactory::createConditionsObjectProvider | ( | const std::string & | classname, |
const std::string & | objName, | ||
const std::string & | tagname, | ||
const framework::config::Parameters & | params, | ||
Process & | process | ||
) |
Make a conditions object provider.
classname | Class name of conditions object provider |
objName | Name of the object provided (may be overriden internally!) |
params | Parameters for the conditoons object provider |
process | The process handle |
Definition at line 76 of file PluginFactory.cxx.
References moduleInfo_.
Referenced by framework::Conditions::createConditionsObjectProvider().
EventProcessor * framework::PluginFactory::createEventProcessor | ( | const std::string & | classname, |
const std::string & | moduleInstanceName, | ||
Process & | process | ||
) |
Make an event processor.
classname | Class name of event processor. |
moduleInstanceName | TODO. |
process | The process handle |
Definition at line 66 of file PluginFactory.cxx.
References moduleInfo_.
Referenced by framework::Process::Process().
std::vector< std::string > framework::PluginFactory::getEventProcessorClasses | ( | ) | const |
Get the classes associated with the processor.
Definition at line 48 of file PluginFactory.cxx.
References moduleInfo_.
int framework::PluginFactory::getEventProcessorClasstype | ( | const std::string & | ct | ) | const |
Get the class type for the event processor.
TODO. |
Definition at line 56 of file PluginFactory.cxx.
References moduleInfo_.
|
inlinestatic |
Get the factory instance.
Definition at line 32 of file PluginFactory.h.
References theFactory_.
Referenced by framework::Conditions::createConditionsObjectProvider(), framework::ConditionsObjectProvider::declare(), framework::EventProcessor::declare(), and framework::Process::Process().
void framework::PluginFactory::loadLibrary | ( | const std::string & | libname | ) |
Load a library.
libname | The library to load. |
Definition at line 87 of file PluginFactory.cxx.
References librariesLoaded_.
void framework::PluginFactory::registerConditionsObjectProvider | ( | const std::string & | classname, |
int | classtype, | ||
ConditionsObjectProviderMaker * | maker | ||
) |
Register a conditions object provider.
classname | The name of the class associated with the conditions object provider. |
classtype | The type of class associated with conditions object provider. |
maker | TODO. |
Definition at line 31 of file PluginFactory.cxx.
References moduleInfo_.
Referenced by framework::ConditionsObjectProvider::declare().
void framework::PluginFactory::registerEventProcessor | ( | const std::string & | classname, |
int | classtype, | ||
EventProcessorMaker * | maker | ||
) |
Register the event processor.
classname | The name of the class associated with processor. |
classtype | The type of class associated with processor. |
maker | TODO. |
Definition at line 14 of file PluginFactory.cxx.
References moduleInfo_.
Referenced by framework::EventProcessor::declare().
|
private |
A set of names of loaded libraries.
Definition at line 116 of file PluginFactory.h.
Referenced by loadLibrary().
|
private |
A map of names to processor containers.
Definition at line 113 of file PluginFactory.h.
Referenced by createConditionsObjectProvider(), createEventProcessor(), getEventProcessorClasses(), getEventProcessorClasstype(), registerConditionsObjectProvider(), and registerEventProcessor().
|
staticprivate |
Factory for creating the plugin objects.
Definition at line 119 of file PluginFactory.h.
Referenced by getInstance().