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