From 1b1df06e84c66eba138d8e7ac1a19cad4ea66167 Mon Sep 17 00:00:00 2001 From: Markus Frank <Markus.Frank@cern.ch> Date: Wed, 19 Oct 2016 14:44:41 +0200 Subject: [PATCH] Move to DD4hep segmentations ready for testing... --- DDCore/src/plugins/Compact2Objects.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/DDCore/src/plugins/Compact2Objects.cpp b/DDCore/src/plugins/Compact2Objects.cpp index 636aa9ad3..21425c6d3 100644 --- a/DDCore/src/plugins/Compact2Objects.cpp +++ b/DDCore/src/plugins/Compact2Objects.cpp @@ -899,19 +899,16 @@ template <> void Converter<DetElement>::operator()(xml_h element) const { xml_attr_t attr_ro = element.attr_nothrow(_U(readout)); SensitiveDetector sd; Segmentation seg; - if (attr_ro) { + if ( attr_ro ) { Readout ro = lcdd.readout(element.attr<string>(attr_ro)); if (!ro.isValid()) { throw runtime_error("No Readout structure present for detector:" + name); } + seg = ro.segmentation(); sd = SensitiveDetector(name, "sensitive"); sd.setHitsCollection(ro.name()); sd.setReadout(ro); lcdd.addSensitiveDetector(sd); - seg = ro.segmentation(); - if ( seg.isValid() ) { - seg->sensitive = sd; - } } Ref_t sens = sd; DetElement det(Ref_t(PluginService::Create<NamedObject*>(type, &lcdd, &element, &sens))); @@ -921,7 +918,8 @@ template <> void Converter<DetElement>::operator()(xml_h element) const { det->flag |= DetElement::Object::HAVE_SENSITIVE_DETECTOR; } if ( seg.isValid() ) { - seg->detector = det; + seg->sensitive = sd; + seg->detector = det; } } printout(det.isValid() ? INFO : ERROR, "Compact", "%s subdetector:%s of type %s %s", -- GitLab