+-------------+ +----------## | Geant 3.15 | GEANT User's Guide | CONS200 ## +-------------+ +----------##
Author(s) : R.Brun Submitted: 01.06.83 Origin : GEANT 2 Revised: 13.04.92
+--------------------------------------------------------------------------------------------------------------------+ |CALL GSTMED (ITMED,NATMED,NMAT,ISVOL,IFIELD,FIELDM,TMAXFD,STEMAX, DEEMAX,EPSIL,STMIN,UBUF,NWBUF) | +--------------------------------------------------------------------------------------------------------------------+
Stores the parameters of the tracking medium ITMED in the data structure JTMED.
+--------------------------------------------------------------------------------------------------------------------------------+ |CALL GFTMED (ITMED,NATMED*,NMAT*,ISVOL*,IFIELD*,FIELDM*,TMAXFD*, STEMAX*,DEEMAX*,EPSIL*,STMIN*,UBUF*,NWBUF*) | +--------------------------------------------------------------------------------------------------------------------------------+
Extracts the parameters describing the tracking medium ITMED from the data structure JTMED.
+----------------------------------------+ | CALL GPTMED (ITMED) | +----------------------------------------+
Prints the tracking medium parameters for the given medium.
The results of the simulation depend critically on the choice of the tracking medium parameters. To make of GEANT a reliable and consisten predictive tool, the calculation of these parameters has been automated. In a normal GEANT run, when the IGAUTO=1 (common /GCTRAK/), the following parameters are calculated by the program:
If the IGAUTO variable is set to 0 via the AUTO data record, then value given by the user for the above parameters is accepted as the true parameter value if >0, while automatic calculation still takes place in case the input value is negative.
Users are strongly recommended to begin their simulation with the parameters as calculated by GEANT. Users who want to modify any of the above parameters must be sure they understand their function in the program and the implications of a change.
The EPSIL parameter represents the absolute precision with which the tracking is performed. It has a double meaning. When tracking in magnetic field, EPSIL is the minimum distance for which boundaries are checked. A particle nearer than EPSIL to the boundary is considered as exiting the current volume. If the end point of the step of a particle in magnetic field is distant less than EPSIL along each axis from what would be the end point in absence of magnetic field, then no boundary checking is performed.
In all cases, when a particle is going to reach the boundary of the current volume with the current step, the step length is increased by a quantity (PREC, common /GCTMED/) which is set to the minimum between 0.1x EPSIL and 10 micron at the beginning of the tracking. This quantity is recalculated at every step according to the formula:
PREC =max(min(((EPSIL)/ (10)),10mu),max(|x|, |y|,|z|,S) xepsilon) (1)
Where x,y,z are the current coordinates of the particle, S is the length of the track, and epsilon is the assumed machine precision. epsilon -6 (called EPSMAC in the program) is initially set to 10 for 32 bits
-11 machines and 10 for 64 bits machines. During the tracking, every fifth time that a particle tries unsuccessfully to exit from the same volume, the machine precision is multiplied by the number of trials. This accounts for additional losses of precision due to transformation of coordinates and region of the floating point range where the real machine precision is different from the above (this happens in particular on IBM mainframes with 370 floating point number representation).