]>
Commit | Line | Data |
---|---|---|
fe4da5cc | 1 | * |
2 | * $Id$ | |
3 | * | |
4 | * $Log$ | |
5 | * Revision 1.1.1.1 1995/10/24 10:21:49 cernlib | |
6 | * Geant | |
7 | * | |
8 | * | |
9 | #include "geant321/pilot.h" | |
10 | *CMZ : 3.21/02 29/03/94 15.41.33 by S.Giani | |
11 | *-- Author : | |
12 | SUBROUTINE GXDZ | |
13 | C. | |
14 | C. ****************************************************************** | |
15 | C. * * | |
16 | C. * DZEBRA control commands * | |
17 | C. * * | |
18 | C. * Authors: R.Brun ********** * | |
19 | C. * P.Zanarini ********** * | |
20 | C. * * | |
21 | C. ****************************************************************** | |
22 | C. | |
23 | #include "geant321/gcbank.inc" | |
24 | #include "geant321/gcunit.inc" | |
25 | #include "geant321/gcxlun.inc" | |
26 | COMMON/GCLTMP/LTEMPA(3) | |
27 | COMMON/QUEST/IQUEST(100) | |
28 | CHARACTER*20 CHOPT | |
29 | CHARACTER*4 BNAME | |
30 | CHARACTER*32 CHPATL | |
31 | CHARACTER*255 DOCFIL | |
32 | CHARACTER*10 CHTOP | |
33 | CHARACTER*12 CHTDIR | |
34 | C. | |
35 | C. ------------------------------------------------------------------ | |
36 | C. | |
37 | CALL KUPATL(CHPATL,NPAR) | |
38 | * | |
39 | IF(CHPATL.EQ.'SHOW')THEN | |
40 | CALL KUGETC(BNAME,NCH) | |
41 | CALL KUGETI(NUMBER) | |
42 | CALL KUGETC(CHOPT,NCH) | |
43 | LOC=LZLOC(IXSTOR,BNAME,NUMBER) | |
44 | IF(LOC.NE.0)THEN | |
45 | CALL DZSHOW('DZSHOW',IXSTOR,LOC,CHOPT,0,0,0,0) | |
46 | ENDIF | |
47 | * | |
48 | ELSEIF(CHPATL.EQ.'SURV')THEN | |
49 | CALL KUGETC(BNAME,NCH) | |
50 | CALL KUGETI(NUMBER) | |
51 | LOC=LZLOC(IXSTOR,BNAME,NUMBER) | |
52 | IF(LOC.NE.0)THEN | |
53 | CALL DZSURV('DZSURV',IXSTOR,LOC) | |
54 | ENDIF | |
55 | * | |
56 | ELSEIF(CHPATL.EQ.'SNAP')THEN | |
57 | CALL KUGETI(IDIV) | |
58 | CALL KUGETC(CHOPT,NCH) | |
59 | CALL DZSNAP('DZSNAP',IDIV,CHOPT) | |
60 | * | |
61 | ELSEIF(CHPATL.EQ.'VERIFY')THEN | |
62 | CALL KUGETI(IDIV) | |
63 | CALL KUGETC(CHOPT,NCH) | |
64 | CALL DZVERI('DZVERI',IDIV,CHOPT) | |
65 | * | |
66 | ELSEIF(CHPATL.EQ.'STORE')THEN | |
67 | CALL KUGETI(IXSTOR) | |
68 | CALL DZSTOR('DZSTOR',IXSTOR) | |
69 | * | |
70 | ELSEIF (CHPATL.EQ.'DDIV') THEN | |
71 | #if defined(CERNLIB_DZDOC) | |
72 | CALL KUGETI(IDIV) | |
73 | DOCFIL=' ' | |
74 | CALL KUGETC(DOCFIL,NCH) | |
75 | NCH=MAX(NCH,1) | |
76 | #endif | |
77 | #if (defined(CERNLIB_UNIX))&&(defined(CERNLIB_DZDOC)) | |
78 | CALL CUTOL(DOCFIL(1:NCH)) | |
79 | #endif | |
80 | #if defined(CERNLIB_DZDOC) | |
81 | CHOPT='IN' | |
82 | IWDISP=1 | |
83 | IWMETA=0 | |
84 | ILOCNR=1 | |
85 | CHTOP =' ' | |
86 | CHTDIR=' ' | |
87 | IF(DOCFIL.NE.' ') THEN | |
88 | CALL GXLUNF(10, 3, IFREE) | |
89 | IF(IFREE.NE.0) THEN | |
90 | LRECL = 256 | |
91 | CALL RZOPEN(IFREE,CHTOP,DOCFIL(1:NCH),'W',LRECL,ISTAT) | |
92 | IF(ISTAT.NE.0) GOTO 999 | |
93 | CALL RZFILE(IFREE,CHTOP,' ') | |
94 | LUNIT(IFREE) = 3 | |
95 | CHTDIR='//'//CHTOP | |
96 | ENDIF | |
97 | ENDIF | |
98 | * | |
99 | * Workstation ID is 1 for GEANT | |
100 | * | |
101 | IWTYPE=IGIWTY(1) | |
102 | CALL DZDDIV(IDIV,LMAIN,CHTDIR,CHOPT,IWDISP, | |
103 | + IWMETA,ILOCNR,IWTYPE) | |
104 | IF(DOCFIL.NE.' ') THEN | |
105 | CALL RZEND(CHTOP) | |
106 | CLOSE(IFREE) | |
107 | LUNIT(IFREE)=0 | |
108 | ENDIF | |
109 | #endif | |
110 | #if !defined(CERNLIB_DZDOC) | |
111 | * | |
112 | WRITE(CHMAIL,10000) | |
113 | CALL GMAIL(0,0) | |
114 | 10000 FORMAT(' *** GXDZ *** : Sorry, command not available', | |
115 | + ' in this implementation') | |
116 | #endif | |
117 | ELSEIF (CHPATL.EQ.'DISP') THEN | |
118 | #if defined(CERNLIB_DZDOC) | |
119 | CALL KUGETC(BNAME,NCH) | |
120 | DOCFIL=' ' | |
121 | CALL KUGETC(DOCFIL,NCH) | |
122 | NCH=MAX(NCH,1) | |
123 | #endif | |
124 | #if (defined(CERNLIB_UNIX))&&(defined(CERNLIB_DZDOC)) | |
125 | CALL CUTOL(DOCFIL(1:NCH)) | |
126 | #endif | |
127 | #if defined(CERNLIB_DZDOC) | |
128 | CALL KUGETI(NUMBER) | |
129 | CHOPT='N' | |
130 | IWDISP=1 | |
131 | IWMETA=0 | |
132 | ILOCNR=1 | |
133 | CHTOP =' ' | |
134 | CHTDIR=' ' | |
135 | LOC=LZLOC(IXSTOR,BNAME,NUMBER) | |
136 | IF(LOC.NE.0)THEN | |
137 | IF(DOCFIL.NE.' ') THEN | |
138 | CALL GXLUNF(10, 3, IFREE) | |
139 | IF(IFREE.NE.0) THEN | |
140 | LRECL = 256 | |
141 | CALL RZOPEN(IFREE,CHTOP,DOCFIL(1:NCH), | |
142 | + 'W',LRECL,ISTAT) | |
143 | IF(ISTAT.NE.0) GOTO 999 | |
144 | CALL RZFILE(IFREE,CHTOP,' ') | |
145 | LUNIT(IFREE) = 3 | |
146 | CHTDIR='//'//CHTOP | |
147 | ENDIF | |
148 | ENDIF | |
149 | * | |
150 | * Workstation ID is 1 for GEANT | |
151 | * | |
152 | IWTYPE=IGIWTY(1) | |
153 | CALL DZDISP(IXSTOR,LOC,CHTDIR,CHOPT,IWDISP, | |
154 | + IWMETA,ILOCNR,IWTYPE) | |
155 | IF(DOCFIL.NE.' ') THEN | |
156 | CALL RZEND(CHTOP) | |
157 | CLOSE(IFREE) | |
158 | LUNIT(IFREE)=0 | |
159 | ENDIF | |
160 | ENDIF | |
161 | #endif | |
162 | #if !defined(CERNLIB_DZDOC) | |
163 | * | |
164 | WRITE(CHMAIL,10000) | |
165 | CALL GMAIL(0,0) | |
166 | #endif | |
167 | ELSEIF (CHPATL.EQ.'DIRZ') THEN | |
168 | #if defined(CERNLIB_DZDOC) | |
169 | DOCFIL=' ' | |
170 | CALL KUGETC(DOCFIL,NCH) | |
171 | NCH=MAX(NCH,1) | |
172 | #endif | |
173 | #if (defined(CERNLIB_UNIX))&&(defined(CERNLIB_DZDOC)) | |
174 | CALL CUTOL(DOCFIL(1:NCH)) | |
175 | #endif | |
176 | #if defined(CERNLIB_DZDOC) | |
177 | CHOPT='N' | |
178 | IWDISP=1 | |
179 | IWMETA=0 | |
180 | ILOCNR=1 | |
181 | IDZSTR=0 | |
182 | CALL MZLINT(IDZSTR,'/GCLTMP/',LTEMPA,LTEMPA(3),LTEMPA) | |
183 | CALL DZDIRZ(IDZSTR,LTEMPA(3),1,DOCFIL(1:NCH),CHOPT, | |
184 | + IWDISP,IWMETA,ILOCNR) | |
185 | LTEMPA(1)=0 | |
186 | #endif | |
187 | #if !defined(CERNLIB_DZDOC) | |
188 | WRITE(CHMAIL,10000) | |
189 | CALL GMAIL(0,0) | |
190 | #endif | |
191 | ENDIF | |
192 | * | |
193 | 999 END |