diff --git a/Simulation/DetSimDedx/src/BetheBlochEquationDedxSimTool.cpp b/Simulation/DetSimDedx/src/BetheBlochEquationDedxSimTool.cpp index 6aecca2bb3bf4651e1c5c06f70fc7bfd2d8ea6bc..1983ba72f44eca929a75ac4abfd7a01d65fe3a3e 100644 --- a/Simulation/DetSimDedx/src/BetheBlochEquationDedxSimTool.cpp +++ b/Simulation/DetSimDedx/src/BetheBlochEquationDedxSimTool.cpp @@ -14,8 +14,8 @@ double BetheBlochEquationDedxSimTool::dedx(const G4Step* aStep) G4Material* material = gTrack->GetMaterial(); G4double material_density = material->GetDensity() / (CLHEP::g/CLHEP::cm3); // conert from G4 unit. - G4double material_Z = material->GetZ(); - G4double material_A = material->GetA(); + G4double material_Z = m_material_Z; + G4double material_A = m_material_A; m_I = material_Z*10; // Approximate diff --git a/Simulation/DetSimSD/src/DriftChamberSensDetTool.cpp b/Simulation/DetSimSD/src/DriftChamberSensDetTool.cpp index bf0532165fcf820a10563af25f9ff172fbdacc8e..33df958868b519aa2ac7f3a0506111fed5aaa23c 100644 --- a/Simulation/DetSimSD/src/DriftChamberSensDetTool.cpp +++ b/Simulation/DetSimSD/src/DriftChamberSensDetTool.cpp @@ -41,6 +41,8 @@ DriftChamberSensDetTool::createSD(const std::string& name) { if (name == "DriftChamber") { DriftChamberSensitiveDetector* dcsd = new DriftChamberSensitiveDetector(name, *dd4hep_geo); dcsd->setDedxSimTool(m_dedx_simtool); + + sd = dcsd; } diff --git a/Simulation/DetSimSD/src/DriftChamberSensitiveDetector.cpp b/Simulation/DetSimSD/src/DriftChamberSensitiveDetector.cpp index 1ba9f7bff59a19d93519bf36368daee33035a7e9..c6ff3db08209c3307b8fd2c954ee9c97f5c015cc 100644 --- a/Simulation/DetSimSD/src/DriftChamberSensitiveDetector.cpp +++ b/Simulation/DetSimSD/src/DriftChamberSensitiveDetector.cpp @@ -46,6 +46,8 @@ DriftChamberSensitiveDetector::ProcessHits(G4Step* step, G4TouchableHistory*) { HitContribution contrib = dd4hep::sim::Geant4Hit::extractContribution(step); // Now, invokes the dE/dx simulator double dedx = 0.0; + dedx = m_dedx_simtool->dedx(step); + // G4cout << "-----> dedx: " << dedx << G4endl; double de = hit_len * dedx; // contrib.deposit = de; // if need the de from dedx simulator