From 58d322029147a39752d0188cf2d7ee12e4058617 Mon Sep 17 00:00:00 2001
From: Li Zhihao <lizhihao@ihep.ac.cn>
Date: Mon, 25 Nov 2024 14:20:03 +0000
Subject: [PATCH] Fix: adjust magnet field simulation granularity to avoid
 momentum reconstruction bias;

---
 Simulation/DetSimGeom/src/DDG4DetElemTool.cpp | 5 ++++-
 Simulation/DetSimGeom/src/DDG4DetElemTool.h   | 5 +++++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/Simulation/DetSimGeom/src/DDG4DetElemTool.cpp b/Simulation/DetSimGeom/src/DDG4DetElemTool.cpp
index 8f898c90..63f33a25 100644
--- a/Simulation/DetSimGeom/src/DDG4DetElemTool.cpp
+++ b/Simulation/DetSimGeom/src/DDG4DetElemTool.cpp
@@ -224,7 +224,10 @@ DDG4DetElemTool::ConstructSDandField() {
 
     fieldManager->SetDetectorField(mag_field);
     fieldManager->CreateChordFinder(mag_field);
-
+    fieldManager->SetDeltaIntersection(m_DeltaIntersection.value());
+    fieldManager->SetDeltaOneStep(m_DeltaOneStep.value());
+    fieldManager->SetMinimumEpsilonStep(m_MinimumEpsilonStep.value());
+    fieldManager->SetMaximumEpsilonStep(m_MaximumEpsilonStep.value());
 
 }
 
diff --git a/Simulation/DetSimGeom/src/DDG4DetElemTool.h b/Simulation/DetSimGeom/src/DDG4DetElemTool.h
index ccd73537..afa31ad7 100644
--- a/Simulation/DetSimGeom/src/DDG4DetElemTool.h
+++ b/Simulation/DetSimGeom/src/DDG4DetElemTool.h
@@ -28,6 +28,11 @@ private:
     Gaudi::Property<double> m_x{this, "X", 30.*m};
     Gaudi::Property<double> m_y{this, "Y", 30.*m};
     Gaudi::Property<double> m_z{this, "Z", 30.*m};
+    Gaudi::Property<double> m_DeltaIntersection{this, "DeltaIntersection", 1.0e-8*mm};
+    Gaudi::Property<double> m_DeltaOneStep{this, "DeltaOneStep",1.0e-7 * mm};
+    Gaudi::Property<double> m_MinimumEpsilonStep{this, "MinimumEpsilonStep",1.0e-10 * mm};
+    Gaudi::Property<double> m_MaximumEpsilonStep{this, "MaximumEpsilonStep",1.0e-8 * mm};
+
     // DD4hep XML compact file path
     Gaudi::Property<std::string> m_dd4hep_xmls{this, "detxml"};
 
-- 
GitLab