5 * Revision 1.1.1.1 1995/10/24 10:21:17 cernlib
9 #include "geant321/pilot.h"
10 *CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani
12 SUBROUTINE GRGET (KEYSU,ID1,ID2,ID3,ICYCLE)
14 C. ******************************************************************
16 C. * Routine to read data structures from a RZ file *
18 C. * KEYSU Keyword to select data structure *
19 C. * ID1 First RZ KEY identifier (ex IDRUN) *
20 C. * ID2 Second RZ KEY identifier (ex IDEVT) *
21 C. * ID3 Third RZ KEY identifier (user free) *
22 C. * ICYCLE Cycle number *
24 C. * ==>Called by : <USER>, UGINIT,GUKINE *
25 C. * Author R.Brun ********* *
27 C. ******************************************************************
29 #include "geant321/gcbank.inc"
30 #include "geant321/gcunit.inc"
31 #include "geant321/gcflag.inc"
32 #include "geant321/gcnum.inc"
33 #include "geant321/gcdraw.inc"
34 #include "geant321/gccuts.inc"
37 EQUIVALENCE (CUTVEC,CUTGAM)
42 DIMENSION LINIT(8),LKINE(2),LTRIG(6)
43 DIMENSION LKEY(19),LINK(10),JLINK(17),KSEL(17),IXD(17)
44 EQUIVALENCE (JLINK(1),JDIGI)
45 EQUIVALENCE (LKEY(18),KINIT),(LKEY(19),KTRIG),(LKEY(5),KKINE)
48 DATA KLEY/'DIGI','DRAW','HEAD','HITS','KINE','MATE','PART','ROTM'
49 + ,'RUNG','SETS','STAK','STAT','TMED','TRAC','VERT','VOLU'
50 + ,'JXYZ','INIT','TRIG'/
51 DATA IXD/2,1,2,2,2,8*1,2,2,1,2/
52 DATA LINIT/2,6,7,8,9,10,13,16/
54 DATA LTRIG/1,3,4,5,15,17/
60 C. ------------------------------------------------------------------
64 CALL UCTOH(KLEY,LKEY,4,76)
69 10000 FORMAT(' *** GRGET *** Obsolete routine. Please use GRIN')
71 CALL UCTOH(KEYSU,KEY,4,4)
75 CALL UCOPY(LINIT,LINK,NLINIT)
77 ELSEIF(KEY.EQ.KKINE)THEN
78 CALL UCOPY(LKINE,LINK,NLKINE)
80 ELSEIF(KEY.EQ.KTRIG)THEN
81 CALL UCOPY(LTRIG,LINK,NLTRIG)
84 IL=IUCOMP(KEY,LKEY,17)
90 C Read data structure(s)
98 IF(JLINK(IL).NE.0)THEN
99 CALL MZDROP(IXCONS,JLINK(IL),' ')
108 CALL RZIN(IDIV,JLINK(IL),1,KEYRZ,ICYCLE,' ')
113 C Reconstruct NKVIEW,NVOLUM,NVERTX,NTRACK
114 C Reconstruct NMATE, NTMED, NPART
116 IF(KSEL(6).NE.0.AND.JMATE.GT.0) NMATE=IQ(JMATE-2)
117 IF(KSEL(7).NE.0.AND.JPART.GT.0) NPART=IQ(JPART-2)
118 IF(KSEL(13).NE.0.AND.JTMED.NE.0 ) THEN
120 CUTVEC(J) = Q(JTMED+J)
124 IF(KSEL(16).NE.0.AND.JVOLUM.GT.0) THEN
126 DO 30 J=1, IQ(JVOLUM-2)
127 IF(LQ(JVOLUM-J).EQ.0) GO TO 40
132 IF(KSEL( 2).NE.0.AND.JDRAW.GT.0 ) NKVIEW=IQ(JDRAW-2)
142 IF(JVERTX.GT.0)NVERTX=IQ(JVERTX+1)
143 IF(JKINE .GT.0)NTRACK=IQ(JKINE +1)