5 * Revision 1.1.1.1 1995/10/24 10:21:10 cernlib
9 #include "geant321/pilot.h"
10 *CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani
12 SUBROUTINE GFPATH (ISET, IDET, NUMBV, NLEV, LNAM, LNUM)
14 C. ******************************************************************
16 C. * Return the lists of NLEV volume names (LNAM) and numbers *
17 C. * (LNUM) which identify the path through the JVOLUM data *
18 C. * structure for the volume corresponding to the detector *
19 C. * at position IDET in set at position ISET identified by *
20 C. * the list of node identifiers given in NUMBV. *
22 C. * NLEV is expected to be greater than 1 *
23 C. * and no checks are performed on the validity of ISET/IDET *
24 C. * In case of user error NLEV returns with the value 0. *
26 C. * ==> Called by : <USER> *
27 C. * Author F.Bruyant ********** *
29 C. ******************************************************************
31 #include "geant321/gcbank.inc"
32 #include "geant321/gcunit.inc"
33 INTEGER LNAM(*), LNUM(*), NUMBV(*)
35 C. -----------------------------------------------------------------
55 IF (IQ(IPJD+2).LE.1) GO TO 10
60 ELSE IF (NSOL.GT.1) THEN
62 C Case with multiple path
69 IF (NUMBV(I).EQ.0) GO TO 30
73 IF (IQ(IPJD+1).EQ.IQ(IPJDD+1)) GO TO 30
89 IF (NUMBV(I).EQ.0) GO TO 60
93 IF (IQ(IPJD+1).NE.IQ(IPJDD+1)) GO TO 50
94 IF (NUMBV(I).GT.IQ(IPJD+2)) GO TO 991
101 81 IF (IS.EQ.NSOL) GO TO 991
102 IPSTO = IPSTO +2*NLEV
117 WRITE (CHMAIL, 1000) IQ(JD+9)
120 1000 FORMAT (' ***** GFPATH USER ERROR, IQ(JD+9)=',I2)