1 #ifndef DETECTOR_DESCRIPTION_DD_PLUGINS_H
2 #define DETECTOR_DESCRIPTION_DD_PLUGINS_H
5 #include "DD4hep/Factories.h"
6 #include "DD4hep/Plugins.h"
17 dd4hep::xml::Handle_t element,
18 dd4hep::SensitiveDetector& sensitive);
23 template <
typename P,
typename S>
30 #define DECLARE_DDCMS_DETELEMENT(name, func) \
31 DD4HEP_OPEN_PLUGIN(dd4hep, ddcms_det_element_##name) { \
32 typedef DDCMSDetElementFactory<ddcms_det_element_##name> _IMP; \
34 long _IMP::create(dd4hep::Detector& d, cms::DDParsingContext& c, xml::Handle_t e, dd4hep::SensitiveDetector& h) { \
35 return func(d, c, e, h); \
37 DD4HEP_PLUGINSVC_FACTORY(ddcms_det_element_##name, \
39 long(dd4hep::Detector*, cms::DDParsingContext*, ns::xml_h*, dd4hep::SensitiveDetector*), \