![]() |
![]() |
-------------- 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.