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