diff --git a/Detectors/Base/src/Propagator.cxx b/Detectors/Base/src/Propagator.cxx index 208b9bf138688..9a2dd070a9932 100644 --- a/Detectors/Base/src/Propagator.cxx +++ b/Detectors/Base/src/Propagator.cxx @@ -102,6 +102,8 @@ int PropagatorImpl::initFieldFromGRP(const o2::parameters::GRPObject* g } else { 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()); @@ -112,6 +114,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 +132,8 @@ int PropagatorImpl::initFieldFromGRP(const o2::parameters::GRPMagField* } else { 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()); @@ -139,6 +144,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; }