SLIC  6.1.1
Simulation for the Linear Collider (SLIC) - Geant4 simulation application
PluginLoader.hh
Go to the documentation of this file.
1 
7 #ifndef SLIC_PLUGINLOADER_HH_
8 #define SLIC_PLUGINLOADER_HH_
9 
10 // LDMX
11 #include "UserActionPlugin.hh"
12 
13 namespace slic {
14 
19 class PluginLoader {
20 
21  public:
22 
29  UserActionPlugin* create(std::string pluginName, std::string libName);
30 
35  void destroy(UserActionPlugin* plugin);
36 
37  private:
38 
43  void* getHandle(std::string pluginName);
44 
45  private:
46 
50  std::map<UserActionPlugin*, void*> pluginHandles_;
51 };
52 
53 }
54 
55 #endif
Loads user sim plugin classes from external shared libraries.
Definition: PluginLoader.hh:19
UserActionPlugin * create(std::string pluginName, std::string libName)
Definition: PluginLoader.cc:7
void * getHandle(std::string pluginName)
std::map< UserActionPlugin *, void * > pluginHandles_
Definition: PluginLoader.hh:50
void destroy(UserActionPlugin *plugin)
Definition: PluginLoader.cc:53
User simulation plugin.