CERN homepage INFN homepage
CERN homepage INFN homepage
FLUKA: 17.5} Geometry Previous Index Next

17.5} Geometry


 The original Combinatorial Geometry (CG) package from MAGI [Gub67,Lic79]
 was adopted and extensively improved by Fasso` and Ferrari, starting from the
 one used in their improved version of the Morse code. In 1990, new bodies were
 added (infinite planes and cylinders) which made the task of writing
 geometry input much easier and allowed more accurate and faster tracking.

 CG had originally been designed for neutral particles, but charged
 particles definitely required a fully new treatment near boundaries,
 especially when magnetic fields were present. Previous attempts to
 use CG to track charged particles, in FLUKA87, EGS4 and other
 codes, had always resulted in a large number of particle rejections,
 due to rounding errors and to the "pathological" behaviour of charged
 particles scattering near boundaries and in the practical impossibility
 to use CG for these purposes.

 The tracking algorithm was thoroughly redesigned attaining a complete
 elimination of rejections. A new tracking strategy brought about large speed
 improvements for complex geometries, and the so-called DNEAR facility
 (minimum distance from any boundary) was implemented for most geometry
 bodies and all particles. A sophisticated algorithm was written to
 ensure a smooth approach of charged particles to boundaries by
 progressively shortening the length of the step as the particle gets
 closer to a boundary.  Boundary crossing points could now be identified
 precisely even in the presence of very thin layers. The combined
 effect of multiple scattering and magnetic/electric fields was taken
 into account.

 In 1994, the PLOTGEOM program, written by R. Jaarsma and H. Rief in Ispra
 and adapted as a FLUKA subroutine by G.R. Stevenson in 1990, was
 modified by replacing its huge fixed dimension arrays with others,
 dynamically allocated. The same year, a repetitive (lattice) geometry
 capability was introduced in CG by Ferrari, and a powerful debugger
 facility was made available.

 In 1997-1998, following a request from the ATLAS experiment, INFN hired
 a fellow, S. Vanini, who, together with Sala, developed an interface called
 FLUGG which allows to use FLUKA using the GEANT4 geometry routines for
 detector description. This interface was further improved by Sala and
 in recent times I. Gonzalez and F. Carminati from ALICE.

 In 2001-2002, following a collaboration between INFN-Milan and GSF (Germany),
 Ferrari developed a generalised voxel geometry model for FLUKA. This
 algorithm was originally developed to allow to use inside FLUKA
 the human phantoms developed at GSF out of real person whole body CT scans.
 It was general enough to be coupled with generic CT scans, and it is
 already used in Rossendorf (Germany) for hadron therapy applications.

Previous Index Next