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