5 * Revision 1.1.1.1 1996/03/06 15:37:35 mclareni
6 * Add geane321 source directories
9 #include "geant321/pilot.h"
10 *CMZ : 3.21/02 29/03/94 15.41.49 by S.Giani
12 SUBROUTINE EVOLIO (NVLIN,NAMIN,NUMIN,NVLOUT,NAMOUT,NUMOUT)
14 C. ******************************************************************
16 C. * Called with INWVOL=2 this routine save the volume's tree *
18 C. * Called with INWVOL=1 this routine returns *
19 C. * - the list of volumes (and number) left *
20 C. * - the list of volumes (and number) entered *
22 C. * ==>Called by : ERTRGO *
23 C. * Author M.Maire ********* *
25 C. ******************************************************************
27 #include "geant321/gcvolu.inc"
28 #include "geant321/gctrak.inc"
31 COMMON/OLDTRE/NLVOLD,NAMOLD(NVMX),NUMOLD(NVMX),IOFLAG(NVMX),KONLY
33 DIMENSION NAMIN(NVMX),NUMIN(NVMX),NAMOUT(NVMX),NUMOUT(NVMX)
38 IF(INWVOL.EQ.0) RETURN
39 IF(NLEVEL.EQ.0) RETURN
41 * *** Save the tree when leaving a volume
47 NAMOLD(ILV) = NAMES (ILV)
48 NUMOLD(ILV) = NUMBER(ILV)
50 IF(GONLY(ILV).NE.1.) KONLY = 0
55 * *** Entering in a new volume : compare the trees
57 IF(INWVOL.NE.1) RETURN
59 * *** Simplest case : old tree is 'ONLY'
62 NLMIN = MIN(NLEVEL,NLVOLD)
65 IF(NL.GT.NLMIN) GO TO 12
66 IF((NAMES (NL).EQ.NAMOLD(NL)).AND.
67 * (NUMBER(NL).EQ.NUMOLD(NL))) GO TO 10
73 NAMOUT(NVLOUT) = NAMOLD(IL)
74 NUMOUT(NVLOUT) = NUMOLD(IL)
81 NAMIN (NVLIN ) = NAMES (IL)
82 NUMIN (NVLIN ) = NUMBER(IL)
89 * *** Special case for 'NOT ONLY' volumes
94 IF((NAMES (IL1).EQ.NAMOLD(IL2)).AND.
95 * (NUMBER(IL1).EQ.NUMOLD(IL2))) THEN
101 NAMIN (NVLIN ) = NAMES (IL1)
102 NUMIN (NVLIN ) = NUMBER(IL1)
106 IF(IOFLAG(IL2).EQ.0) GO TO 26
108 NAMOUT(NVLOUT) = NAMOLD(IL2)
109 NUMOUT(NVLOUT) = NUMOLD(IL2)