diff --git a/DDCore/src/FieldTypes.cpp b/DDCore/src/FieldTypes.cpp index 3a247962a9a76608ad5d26ef5dd15175c5777454..4f03348795388fe52450e83f98feef7c4071d6ef 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