From f6dd924c532b96bcce65771ab6cc6f16752404ca Mon Sep 17 00:00:00 2001 From: SCHOTTER Romain <47983209+romainschotter@users.noreply.github.com> Date: Fri, 24 Jul 2026 18:00:54 +0200 Subject: [PATCH 1/2] Fix update of the magnetic field --- Detectors/Base/src/Propagator.cxx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Detectors/Base/src/Propagator.cxx b/Detectors/Base/src/Propagator.cxx index 208b9bf138688..80ac1a6e7ab53 100644 --- a/Detectors/Base/src/Propagator.cxx +++ b/Detectors/Base/src/Propagator.cxx @@ -102,6 +102,7 @@ int PropagatorImpl::initFieldFromGRP(const o2::parameters::GRPObject* g } else { LOG(info) << "Destroying existing B field instance"; delete TGeoGlobalMagField::Instance(); + Instance()->mField = nullptr; } } auto fld = o2::field::MagneticField::createFieldMap(grp->getL3Current(), grp->getDipoleCurrent(), o2::field::MagneticField::kConvLHC, grp->getFieldUniformity()); @@ -112,6 +113,7 @@ int PropagatorImpl::initFieldFromGRP(const o2::parameters::GRPObject* g LOG(info) << "Access field via TGeoGlobalMagField::Instance()->Field(xyz,bxyz) or via"; LOG(info) << "auto o2field = static_cast( TGeoGlobalMagField::Instance()->GetField() )"; } + Instance()->updateField(); return 0; } @@ -129,6 +131,7 @@ int PropagatorImpl::initFieldFromGRP(const o2::parameters::GRPMagField* } else { LOG(info) << "Destroying existing B field instance"; delete TGeoGlobalMagField::Instance(); + Instance()->mField = nullptr; } } auto fld = o2::field::MagneticField::createFieldMap(grp->getL3Current(), grp->getDipoleCurrent(), o2::field::MagneticField::kConvLHC, grp->getFieldUniformity()); @@ -139,6 +142,7 @@ int PropagatorImpl::initFieldFromGRP(const o2::parameters::GRPMagField* LOG(info) << "Access field via TGeoGlobalMagField::Instance()->Field(xyz,bxyz) or via"; LOG(info) << "auto o2field = static_cast( TGeoGlobalMagField::Instance()->GetField() )"; } + Instance()->updateField(); return 0; } From af942264aace3f1d337bc21c254aa18a4e4c4b30 Mon Sep 17 00:00:00 2001 From: SCHOTTER Romain <47983209+romainschotter@users.noreply.github.com> Date: Sat, 25 Jul 2026 16:00:41 +0200 Subject: [PATCH 2/2] Reset mFieldFast in addition to mField --- Detectors/Base/src/Propagator.cxx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Detectors/Base/src/Propagator.cxx b/Detectors/Base/src/Propagator.cxx index 80ac1a6e7ab53..9a2dd070a9932 100644 --- a/Detectors/Base/src/Propagator.cxx +++ b/Detectors/Base/src/Propagator.cxx @@ -103,6 +103,7 @@ int PropagatorImpl::initFieldFromGRP(const o2::parameters::GRPObject* g LOG(info) << "Destroying existing B field instance"; delete TGeoGlobalMagField::Instance(); Instance()->mField = nullptr; + Instance()->mFieldFast = nullptr; } } auto fld = o2::field::MagneticField::createFieldMap(grp->getL3Current(), grp->getDipoleCurrent(), o2::field::MagneticField::kConvLHC, grp->getFieldUniformity()); @@ -132,6 +133,7 @@ int PropagatorImpl::initFieldFromGRP(const o2::parameters::GRPMagField* LOG(info) << "Destroying existing B field instance"; delete TGeoGlobalMagField::Instance(); Instance()->mField = nullptr; + Instance()->mFieldFast = nullptr; } } auto fld = o2::field::MagneticField::createFieldMap(grp->getL3Current(), grp->getDipoleCurrent(), o2::field::MagneticField::kConvLHC, grp->getFieldUniformity());