With regards to your last message:
There are I think several things that would make sense to try next. First
try to repeat your test, but now use "NOSEC" instead of "NOGEOM". This
means that you won't be creating the secondaries. This would be especially
interesting for the FOIL volume.
This also tests the following: For every volume that is defined in GSIM,
GEANT needs to keep track of this volume. I have no idea how much time is
spend in gtnext simply sorting through these volumes to check whether this
step intersects with the next volume or not. "NOGEOM" turns the volume
off, so GEANT has fewer volumes to sort through. "NOSEC" still has the
volumes on, but processing should speed up a lot because no secondaries.
This "volume accounting" might be little cpu, then again, we don't know.
There are options in GEANT ( OPTI, and specific routines) that allow for
optimization in the way GEANT goes through the volumes. If "volume
accounting" is a significant part of cpu, this would be a place where we
can look into optimization.
-- Maurik