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*), \
static long create(dd4hep::Detector &detector, cms::DDParsingContext &context, dd4hep::xml::Handle_t element, dd4hep::SensitiveDetector &sensitive)