15 #ifndef DD4HEP_PLUGINCREATORS_H
16 #define DD4HEP_PLUGINCREATORS_H 1
39 void*
createPlugin(
const std::string& factory, Geometry::LCDD& lcdd,
void* (*cast)(
void*));
40 void*
createPlugin(
const std::string& factory, Geometry::LCDD& lcdd,
const std::string& arg,
void* (*cast)(
void*));
41 void*
createPlugin(
const std::string& factory, Geometry::LCDD& lcdd,
int argc,
char** argv,
void* (*cast)(
void*));
42 void*
createProcessor(Geometry::LCDD& lcdd,
int argc,
char** argv,
void* (*cast)(
void*));
47 struct __cast{
static void* cast(
void* p) {
return &
dynamic_cast<plugin_t&
>(*(plugin_t*)p); } };
48 return (plugin_t*)
createPlugin(factory, lcdd, __cast::cast);
53 struct __cast{
static void* cast(
void* p) {
return &
dynamic_cast<plugin_t&
>(*(plugin_t*)p); } };
54 return (plugin_t*)
createPlugin(factory, lcdd, arg, __cast::cast);
59 struct __cast{
static void* cast(
void* p) {
return &
dynamic_cast<plugin_t&
>(*(plugin_t*)p); } };
60 return (plugin_t*)
createPlugin(factory, lcdd, argc, (
char**)argv, __cast::cast);
66 struct __cast{
static void* cast(
void* p) {
return &
dynamic_cast<plugin_t&
>(*(plugin_t*)p); } };
73 struct __cast{
static void* cast(
void* p) {
return &
dynamic_cast<plugin_t&
>(*(plugin_t*)p); } };
74 return (plugin_t*)
createProcessor(lcdd, argc, (
char**)argv, __cast::cast);
79 #endif // DD4HEP_PLUGINCREATORS_H
void * createPlugin(const std::string &factory, Geometry::LCDD &lcdd, int argc, char **argv, void *(*cast)(void *))
void * createProcessor(Geometry::LCDD &lcdd, int argc, char **argv, void *(*cast)(void *))
The main interface to the DD4hep detector description package.