Finding Volumes which correspond to given Space Point

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

Author(s) : R.Brun,A.C.McPherson,F.Bruyant Submitted: 18.12.83 Origin : Same Revised: 20.05.86

              +--------------------------------------------+
              | CALL GMEDIA (X,*NUMED*) |
              +--------------------------------------------+
                                  

Searches the tree structure to find in which tracking medium the point X is. The tracking medium is returned in NUMED, and the common.

X
array of dimension 3, giving a point in master coordinates.
NUMED
returns with the medium number. If this is zero, then the point is outside the detector.

GMEDIA uses the data structure established by the routines described above to conduct its search. It also uses the history of the last search in order to look first in the same object. Then it will look in the parent of that object and so on until it finds an object in which it is. Then it will look at the contents of this object and so on until it is in a unique object with no contents. If it does not find such but the downward search terminates in a 'MANY' object, then it will back track to the parent and look at other contents thereof. If it is in one it will resume the downward search. Eventually the lowest 'ONLY' object in which the point lies will be found. The contents of this will be exhaustively searched and the lowest level object within this 'ONLY' object and in which the point lies will be taken. If there are several at the same level then the first of these which was found will be taken. The multi level description is stored in the common block GCVOLU [BASE 030] and the structure JGPAR [GEOM 199].

               +------------------------------------------+
               |CALL GTMEDI (X,NUMED*) |
               +------------------------------------------+
                                  

Finds in which volume medium the point X is, and updates the common /GCVOLU/ and the structure JGPAR accordingly.

X
Coordinate of point
NUMED*
Tracking medium number, or 0 if point is outside the experimental setup.

Note:

For INWVOL = 2, INFROM set to a positive number is interpreted by GTMEDI as the number IN of the content just left by the current track within the mother volume where the point X is assumed to be.

               +------------------------------------------+
               |CALL GINVOL (X,ISAME*) |
               +------------------------------------------+
                                  

Checks if particle at point X has left current volume medium. If so, returns ISAME = 0 and prepares information useful to identify the new volume entered. Otherwise, returns ISAME = 1

Note:

INGOTO is set by GTNEXT, to transmit the information on the one volume which has limited the step SNEXT as follows:

>0
IN th content
=0
current volume
<0
-NLONLY, with NLONLY defined as the first 'ONLY' level up in the tree for the 'NOT-ONLY' volume where the point X is found to be.