From f107ad59a38713d4b298943859b2045352656509 Mon Sep 17 00:00:00 2001
From: Frank Gaede <frank.gaede@desy.de>
Date: Fri, 13 Dec 2013 12:39:46 +0000
Subject: [PATCH]  - fixed Soleniodal field to respect zmin and zmax

---
 DDCore/src/FieldTypes.cpp | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/DDCore/src/FieldTypes.cpp b/DDCore/src/FieldTypes.cpp
index 3a247962a..4f0334879 100644
--- a/DDCore/src/FieldTypes.cpp
+++ b/DDCore/src/FieldTypes.cpp
@@ -32,11 +32,15 @@ SolenoidField::SolenoidField()
 
 /// Call to access the field components at a given location
 void SolenoidField::fieldComponents(const double* pos, double* field) {
-  double radius = sqrt(pos[0] * pos[0] + pos[1] * pos[1]);
-  if (radius < innerRadius)
-    field[2] += innerField;
-  else if (radius < outerRadius)
-    field[2] += outerField;
+  double z = pos[2] ;
+//  std::cout << " field z=" << z << " maxZ=" << maxZ << " minZ = " << minZ << std::endl ;
+  if( z > minZ && z < maxZ ){ 
+    double radius = sqrt(pos[0] * pos[0] + pos[1] * pos[1]);
+    if (radius < innerRadius)
+      field[2] += innerField;
+    else if (radius < outerRadius)
+      field[2] += outerField;
+  }
 }
 
 /// Initializing constructor
-- 
GitLab