From 999e3d07b5c386990f1dc199a0aa8f6fbd965144 Mon Sep 17 00:00:00 2001 From: pillot Date: Fri, 14 Feb 2025 17:43:12 +0100 Subject: [PATCH] fix wire position on station 1 --- .../MUON/MCH/Simulation/include/MCHSimulation/Response.h | 1 + Detectors/MUON/MCH/Simulation/src/Response.cxx | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Detectors/MUON/MCH/Simulation/include/MCHSimulation/Response.h b/Detectors/MUON/MCH/Simulation/include/MCHSimulation/Response.h index 09faf3af2e279..bb0ba0aa464e4 100644 --- a/Detectors/MUON/MCH/Simulation/include/MCHSimulation/Response.h +++ b/Detectors/MUON/MCH/Simulation/include/MCHSimulation/Response.h @@ -70,6 +70,7 @@ class Response float inclandbfield(float thetawire, float betagamma, float bx) const; private: + Station mStation{}; ///< Station type MathiesonOriginal mMathieson{}; ///< Mathieson function float mPitch = 0.f; ///< anode-cathode pitch (cm) float mChargeSlope = 0.f; ///< charge slope used in E to charge conversion diff --git a/Detectors/MUON/MCH/Simulation/src/Response.cxx b/Detectors/MUON/MCH/Simulation/src/Response.cxx index 9cc4956772edc..c280981f94a07 100644 --- a/Detectors/MUON/MCH/Simulation/src/Response.cxx +++ b/Detectors/MUON/MCH/Simulation/src/Response.cxx @@ -26,7 +26,7 @@ using namespace o2::mch; //_____________________________________________________________________ -Response::Response(Station station) +Response::Response(Station station) : mStation(station) { if (station == Station::Type1) { mMathieson.setPitch(ResponseParam::Instance().pitchSt1); @@ -68,9 +68,9 @@ float Response::etocharge(float edepos) const //_____________________________________________________________________ float Response::getAnod(float x) const { - int n = int(x / mPitch); - float wire = (x > 0) ? n + 0.5 : n - 0.5; - return wire * mPitch; + return (mStation == Station::Type1) + ? std::round(x / mPitch) * mPitch + : (std::floor(x / mPitch) + 0.5f) * mPitch; } //_____________________________________________________________________