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.21 by S.Giani
12 SUBROUTINE GSAVE(LUN,KEYSU,NUKEYS,IDENT,IER)
14 C. ******************************************************************
16 C. * Routine to write out data structures *
18 C. * LUN Logical unit number *
19 C. * KEYSU Keywords to select data structures *
20 C. * NKEYS Number of keywords *
23 C. * ==>Called by : <USER>, UGINIT,GUOUT *
24 C. * Author R.Brun ********* *
26 C. ******************************************************************
28 #include "geant321/gcbank.inc"
29 #include "geant321/gcunit.inc"
32 DIMENSION KEYS(22),IUHEAD(2)
33 DIMENSION KSEL(14),LKEY(22),LKNUM(22),LINK(14),JLINK(17)
34 EQUIVALENCE (JLINK(1),JDIGI)
35 COMMON/QUEST/IQUEST(100)
38 DATA LINK/7,6,13,16,8,10,2,9,3,15,5,17,4,1/
39 DATA KLEY/'PART','MATE','TMED','VOLU','ROTM','SETS','DRAW','RUNG'
40 + ,'INIT','INIT','INIT','INIT','INIT','INIT','INIT','INIT'
41 + ,'HEAD','KINE','KINE','JXYZ','HITS','DIGI'/
42 DATA LKNUM/1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,9,10,11,12,13,14/
45 C. ------------------------------------------------------------------
49 CALL UCTOH(KLEY,LKEY,4,88)
54 10000 FORMAT(' *** GSAVE *** Obsolete routine. Please use GFOUT')
58 IF (NKEYS.LE.0) GO TO 99
59 CALL UCTOH(KEYSU,KEYS,4,4*NKEYS)
79 IF(KEYS(IK).EQ.LKEY(I))THEN
81 IF(JLINK(IL).NE.0)THEN
93 C======> Write RUN header and constants
95 CALL FZOUT(LUN,IXCONS,JRUNG,1,'L',2,2,IUHEAD)
96 IF(IQUEST(1).NE.0)GO TO 90
100 CALL FZOUT(LUN,IXCONS,JLINK(IL),0,'L',2,1,I)
101 IF(IQUEST(1).NE.0)GO TO 90
107 C======> Write event header and data structures
108 C Released unused space in JHITS and JDIGI
110 IF(KSEL(13).NE.0)CALL GRLEAS(JHITS)
111 IF(KSEL(14).NE.0)CALL GRLEAS(JDIGI)
113 CALL FZOUT(LUN,IXDIV,JHEAD,1,' ',2,2,IUHEAD)
114 IF(IQUEST(1).NE.0)GO TO 90
118 CALL FZOUT(LUN,IXDIV ,JLINK(IL),0,'L',2,1,I)
119 IF(IQUEST(1).NE.0)GO TO 90