From f45ff00b579c674f527974486e499dcb5a32a365 Mon Sep 17 00:00:00 2001 From: Reid Townson Date: Mon, 30 Jul 2018 09:35:09 -0400 Subject: [PATCH] Fix conestack infinite loop Fix an infinite loop that could occur in long simulations with a conestack with more than one layer. Previously, particles could get stuck on the surface between layers of the conestack. --- HEN_HOUSE/egs++/geometry/egs_cones/egs_cones.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/HEN_HOUSE/egs++/geometry/egs_cones/egs_cones.h b/HEN_HOUSE/egs++/geometry/egs_cones/egs_cones.h index 33da38abf..fbae4b193 100644 --- a/HEN_HOUSE/egs++/geometry/egs_cones/egs_cones.h +++ b/HEN_HOUSE/egs++/geometry/egs_cones/egs_cones.h @@ -1554,6 +1554,12 @@ class EGS_ConeStack : public EGS_BaseGeometry { t = tp; // set t = distance to plane } + // If we are right on a plane, return -1 + if(tp < boundaryTolerance) { + t = 0; + return -1; + } + // distance to outer cone int ir = ireg - il*nmax; // cone index in current layer bool hitc = false; // assume we don't hit the cone