CALL GSCKOV (ITMED, NPCKOV, PPCKOV, ABSCO, EFFIC, RINDEX)
This routine declares a tracking medium either as a radiator or as a metal and stores the tables provided by the user. In the case of a metal the RINDEX array does not need to be of length NPCKOV, as long as it is set to 0. The user should call this routine if he wants to use Cerenkov photons. Please note that for the moment only BOXes, TUBEs, CONEs, SPHEres, PCONs, PGONs, TRD2s and TRAPs can be assigned optical properties due to the current limitations of the GGPERP routine described below.
CALL GLISUR (X0, X1, MEDI0, MEDI1, U, PDOTU, IERR)
This routine simulates the surface profile between two media as seen by an approaching particle with coordinate and direction given by X0. The surface is identified by the arguments MEDI0 and MEDI1 which are the tracking medium indices of the region in which the track is presently and the one which it approaches, respectively. The input vector X1 contains the coordinates of a point on the other side of the boundary from X0 and lying in within medium MEDI1. The result is a unit vector U normal to the surface of reflection at X0 and pointing into the medium from which the track is approaching.
The quality of the surface finish is given by the parameter returned by the user function GUPLSH (see below).
GUPLSHVALUE = GUPLSH(MEDI0, MEDI1)
This function must be supplied by the user. It returns a value between 0 and 1 which decsribes the quality of the surface finish between MEDI0 and MEDI1. The value 0 means maximum roughness with effective plane of reflection distributed as where is the angle between the unit normal to the effective plane of reflection and the normal to the nominal medium boundary at X0. The value 1 means perfect smoothness. In between the surface is modelled as a bell-shaped distribution in with limits given by:
At the interface between two media the routine is called to evaluate the surface. The default version in GEANT returns 1, i.e. a perfectly polished surface is assumed. When GUPLSH = 0 the distribution of the normal to the surface is .
This routine handles the generation of Cerenkov photons and is called from GTHADR, GTMUON and GTELEC in radiative materials for which the optical characteristics have been defined via the routine GSCKOV.
This routines takes the Cerenkov photon IPHO generated during the current step and stores it in the stack for subsequent tracking. This routine performs for Cerenkov photons the same function that the GSKING routine performs for all the other particles. The generated photons are stored in the common /GCKIN2/ ( [BASE030]).
This routine is called to track Cerenkov photons. The user routine GUSTEP is called at every step of tracking. When ISTOP = 2 the photon has been absorbed. If DESTEP then the photon has been detected.
This routine solves the general problem of calculating the unit vector normal to the surface of the current volume at the point X. The result is returned in the array U. X is assumed to be outside the current volume and near a boundary (within EPSIL). The current volume is indicated by the common /GCVOLU/. U points from inside to outside in that neighbourhood. If X is within EPSIL of more than one boundary (i.e. in a corner) an arbitrary choice is made. If X is inside the current volume or if the current volume is not handled by the routine, the routine returns with IERR=1, otherwise IERR=0. At the moment the routine only handles BOXes, TUBEs, SPHEres and CONEs.