The Tracking routines

+-------------+                                               +----------##
| Geant 3.10  |               GEANT User's Guide              | TRAK200  ##
+-------------+                                               +----------##
                                   

Author(s) : R.Brun Submitted: 01.10.84 Origin : Same Revised: 23.05.86

                   +----------------------------------+
                   |CALL GTGAMA   |
                   +----------------------------------+
                                  

See block diagrams below.

                           GTGAMA Block Diagram
                                  

 VECT,SNEXT,SAFETY
 Compute distance up to next pair production: SPAIR
 Compute distance up to next scattering Compton: SCOMP
 Compute distance up to next photoelectric process: SPHOT
 Compute distance up to next photofission: SPFIS
 STEP = minimum of all steps
 Linear extrapolation
 If Pair production:  CALL GPAIR
 If Compton scattering:  CALL GCOMP
 If Photoelectric effect: CALL GPHOT
If Photofission: CALL GPFIS
 VECT,STEP,NMEC,LMEC,NGKINE
 INWVOL,IGNEXT,ISTOP,DESTEP
                    +--------------------------------+
                    |CALL GTELEC  |
                    +--------------------------------+
                                  

 GTELEC Block Diagram
VECT,SNEXT,SAFETY
 Compute SFIELD,SMULS,SLOSS
Compute distance up to next Bremsstrahlung: SBREM
Compute distance up to next Delta ray production: SDRAY
Compute distance up to next positron annihilation point: SANNI
 STEP = minimum of all steps
IF(FIELD=0) linear extrapolation
 otherwise CALL GUSWIM
 Check if still in same volume
 If not reduce step and start again  CALL GINVOL
 Multiple scattering:  CALL GMUL / GMOL
 CALL GINVOL
 If Bremsstrahlung:  CALL GBREM
 If Delta ray:  CALL GDRAY
 If Positron annihilation:  CALL GANNI
 VECT,STEP,NMEC,LMEC,NGKINE
 INWVOL,IGNEXT,ISTOP,DESTEP
                    +--------------------------------+
                    |CALL GTNEUT  |
                    +--------------------------------+
                                  

  GTNEUT Block Diagram
 VECT,SNEXT,SAFETY
 Compute distance up to next
 hadronic interaction
CALL GUPHAD -> SHADR
 Compute distance up to decay
 point -> SDCAY
 STEP = minimum of all steps
 Linear extrapolation
If hadronic interaction: CALL GUHADR
If Decay:  CALL GDECAY
 VECT,STEP,NMEC,LMEC
 INWVOL,IGNEXT,ISTOP
                    +--------------------------------+
                    |CALL GTHADR  |
                    +--------------------------------+
                                  

 GTHADR Block Diagram
 VECT,SNEXT,SAFETY
 Compute SFIELD,SMULS,SLOSS,SDCAY
 Compute distance up to next Delta ray production SDRAY
 Compute distance up to next hadronic
 interaction CALL GUPHAD -> SHADR
 STEP = minimum of all steps
IF(FIELD=0) linear extrapolation
 otherwise CALL GUSWIM
 otherwise CALL GUSWIM
 Check if still in same volume. If not reduce step
 and start again CALL GINVOL
 Multiple scattering:  CALL GMUL / GMOL
 CALL GINVOL
If Hadronic interaction:  CALL GUHADR
If Decay:  CALL GDECAY
If Delta ray : CALL GDRAY
 VECT,STEP,NMEC,LMEC,NGKINE
 INWVOL,IGNEXT,ISTOP,DESTEP
                    +--------------------------------+
                    |CALL GTMUON  |
                    +--------------------------------+
                                  

 GTMUON Block Diagram
 VECT,SNEXT,SAFETY
 Compute SFIELD,SMUL,SLOSS
 Compute distance up to decay point -> SDCAY
 Compute distance up to next Delta ray production SDRAY
 Compute distance up to next Bremsstrahlung SBREM
 Compute distance up to next Pair production SPAIR
 Compute distance up to next Nuclear interaction SMUNU
 STEP = minimum of all steps
 IF(FIELD=0) linear extrapolation
 otherwise CALL GUSWIM
 Check if still in same volume. If not reduce step
 and start again CALL GINVOL
 Multiple scattering:  CALL GMUL / GMOL
 CALL GINVOL
 If Decay :  CALL GDECAY
 If Delta ray : CALL GDRAY
 If Brems : CALL GBREMM
 If Pair  : CALL GPAIRM
 If Nucl. Int.: CALL GMUNU
 VECT,STEP,NMEC,LMEC
 INWVOL,IGNEXT,ISTOP