diff --git a/Simulation/DetSimSD/src/GenericTrackerSensDetTool.cpp b/Simulation/DetSimSD/src/GenericTrackerSensDetTool.cpp index 480f509aa57c563e90c032aac64abcaca4957a31..edb275a8d76e4d0710368611e916f4c026837e12 100644 --- a/Simulation/DetSimSD/src/GenericTrackerSensDetTool.cpp +++ b/Simulation/DetSimSD/src/GenericTrackerSensDetTool.cpp @@ -5,6 +5,7 @@ #include "DD4hep/Detector.h" #include "GenericTrackerSensitiveDetector.h" +#include "TrackerCombineSensitiveDetector.h" #include "CLHEP/Units/SystemOfUnits.h" @@ -33,8 +34,14 @@ G4VSensitiveDetector* GenericTrackerSensDetTool::createSD(const std::string& nam debug() << "createSD for " << name << endmsg; dd4hep::Detector* dd4hep_geo = m_geosvc->lcdd(); - - G4VSensitiveDetector* sd = new GenericTrackerSensitiveDetector(name, *dd4hep_geo); + auto sens = dd4hep_geo->sensitiveDetector(name); + G4VSensitiveDetector* sd = nullptr; + if(sens.combineHits()){ + sd = new TrackerCombineSensitiveDetector(name, *dd4hep_geo); + } + else{ + sd = new GenericTrackerSensitiveDetector(name, *dd4hep_geo); + } return sd; }