1 #ifndef DETECTOR_DESCRIPTION_DD_PLUGINS_H 2 #define DETECTOR_DESCRIPTION_DD_PLUGINS_H 5 #include "DD4hep/Factories.h" 6 #include "DD4hep/Plugins.h" 16 dd4hep::xml::Handle_t element,
17 dd4hep::SensitiveDetector& sensitive );
22 template <
typename P,
typename S>
class Factory;
25 dd4hep::SensitiveDetector* )
31 #define DECLARE_DDCMS_DETELEMENT(name,func) \ 32 DD4HEP_OPEN_PLUGIN(dd4hep,ddcms_det_element_##name) { \ 33 typedef DDCMSDetElementFactory< ddcms_det_element_##name > _IMP; \ 35 _IMP::create(dd4hep::Detector& d, \ 36 cms::DDParsingContext& c, \ 38 dd4hep::SensitiveDetector& h) \ 39 { return func(d,c,e,h); } \ 40 DD4HEP_PLUGINSVC_FACTORY(ddcms_det_element_##name,name, \ 41 long(dd4hep::Detector*,cms::DDParsingContext*, \ 42 ns::xml_h*,dd4hep::SensitiveDetector*),__LINE__) }
static long create(dd4hep::Detector &detector, cms::DDParsingContext &context, dd4hep::xml::Handle_t element, dd4hep::SensitiveDetector &sensitive)