From fa15c60f89eedd68937c404bb0cb1b15a5931450 Mon Sep 17 00:00:00 2001 From: Andre Sailer <andre.philippe.sailer@cern.ch> Date: Tue, 8 Nov 2016 09:33:33 +0100 Subject: [PATCH] Initialise field values, this fixes an issue in MarlinTrk where wrong magnetic fields were assigned to surfaces because the field array was uninitialised --- DDCore/include/DD4hep/Fields.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/DDCore/include/DD4hep/Fields.h b/DDCore/include/DD4hep/Fields.h index e247210db..1861241d5 100644 --- a/DDCore/include/DD4hep/Fields.h +++ b/DDCore/include/DD4hep/Fields.h @@ -204,6 +204,7 @@ namespace DD4hep { /// Returns the 3 electric field components (x, y, z). void electricField(const double* pos, double* field) const { + field[0] = field[1] = field[2] = 0.0; CartesianField f = data<Object>()->electric; f.isValid() ? f.value(pos, field) : combinedElectric(pos, field); } @@ -220,6 +221,7 @@ namespace DD4hep { /// Returns the 3 magnetic field components (x, y, z). void magneticField(const double* pos, double* field) const { + field[0] = field[1] = field[2] = 0.0; CartesianField f = data<Object>()->magnetic; f.isValid() ? f.value(pos, field) : combinedMagnetic(pos, field); } -- GitLab