Added the address of GCBANK, not for Zebra stores, but to get access to
[u/mrichter/AliRoot.git] / GEANT321 / comad / gcomad.F
1 *CMZ :          22/01/99  15.54.06  by  Rene Brun
2 *-- Author :    Federico Carminati   28/11/98
3       SUBROUTINE GCOMAD(CHCOMM,IADD)
4 *#include "geant321/gcasho.inc"
5       COMMON/GCASHO/ZMED,AMED,DMED,E0MED,ZSMED(50),ESMED(50),ALFA,
6      *             STEPALT,PLIN,PLOG,BE2,PLASM,TRNSMA,
7 *     *             STEP,PLIN,PLOG,BE2,PLASM,TRNSMA,
8      *             BOSC(50),AOSC(50),EOSC(50),ZOSC(50),EMEAN,
9      *             CMGO(2000),EMGO,EMGOMI,
10      *             NSMED,IOSC(50),NOSC,NMGO,NMGOMA
11 C
12       REAL         ZMED,AMED,DMED,E0MED,ZSMED,ESMED,ALFA,
13      *             STEPALT,PLIN,PLOG,BE2,PLASM,TRNSMA,
14 *     *             STEP,PLIN,PLOG,BE2,PLASM,TRNSMA,
15      *             BOSC,AOSC,EOSC,ZOSC,EMEAN,CMGO,EMGO,EMGOMI
16       INTEGER      NSMED,IOSC,NOSC,NMGO,NMGOMA
17 C
18 #include "geant321/gcbank.inc"
19 #include "geant321/gccurs.inc"
20 #include "geant321/gccuts.inc"
21 #include "geant321/gcdraw.inc"
22 #include "geant321/gcfdim.inc"
23 #include "geant321/gcflag.inc"
24 #include "geant321/gcgobj.inc"
25 #include "geant321/gchil2.inc"
26 #include "geant321/gchiln.inc"
27 #include "geant321/gchvir.inc"
28 #include "geant321/gcjloc.inc"
29 #include "geant321/gcjump.inc"
30 #include "geant321/gckine.inc"
31 #include "geant321/gcking.inc"
32 #include "geant321/gclist.inc"
33 #include "geant321/gclund.inc"
34 #include "geant321/gcmate.inc"
35 #include "geant321/gcmulo.inc"
36 #include "geant321/gcmutr.inc"
37 #include "geant321/gcmzfo.inc"
38 #include "geant321/gcnum.inc"
39 *#include "geant321/gcomis.inc"
40 *      COMMON/GCOMIS/JUINIT,JUGEOM,JUKINE,JUSTEP,JUOUT,JULAST
41       COMMON/GCOMIS/KUINIT,KUGEOM,KUKINE,KUSTEP,KUOUT,KULAST
42       DIMENSION JPCOMS(6)
43       EQUIVALENCE (JPCOMS,JUINIT)
44 *
45 #include "geant321/gconst.inc"
46 #include "geant321/gcopti.inc"
47 #include "geant321/gcpara.inc"
48 #include "geant321/gcparm.inc"
49 #include "geant321/gcpmxz.inc"
50 #include "geant321/gcphnr.inc"
51 #include "geant321/gcphpr.inc"
52 #include "geant321/gcphrd.inc"
53 #include "geant321/gcphxs.inc"
54 #include "geant321/gcphys.inc"
55 #include "geant321/gcpixe.inc"
56 #include "geant321/gcpoly.inc"
57 #include "geant321/gcpush.inc"
58 #include "geant321/gcrayt.inc"
59 #include "geant321/gcrz.inc"
60 #include "geant321/gcscal.inc"
61 #include "geant321/gcscan.inc"
62 #include "geant321/gcsets.inc"
63 #include "geant321/gcshpt.inc"
64 *#include "geant321/gcspee.inc"
65 *
66 *      REAL S1,S2,S3,SS1,SS2,SS3,SRAGMX,SRAGMN,
67       REAL S1,S2ALT,S3,SS1,SS2,SS3,SRAGMX,SRAGMN,
68      +     RAINT1,RAINT2,RMIN1,RMIN2,RMAX1,RMAX2
69       INTEGER ISCOP,NTIM,NTFLAG,IOLDCU,ITSTCU,ISUBLI,IPORLI
70       INTEGER LPASS,JPORJJ,LEP,JSC
71 *
72 *      COMMON/GCSPEE/S1,S2,S3,SS1,SS2,SS3,LEP,IPORLI,ISUBLI,
73       COMMON/GCSPEE/S1,S2ALT,S3,SS1,SS2,SS3,LEP,IPORLI,ISUBLI,
74      +              SRAGMX,SRAGMN,RAINT1,RAINT2,RMIN1,RMIN2,
75      +              RMAX1,RMAX2,JPORJJ,ITSTCU,IOLDCU,ISCOP,
76      +              NTIM,NTFLAG,LPASS,JSC
77 *
78
79 #include "geant321/gcstak.inc"
80 #include "geant321/gcstra.inc"
81 #include "geant321/gctime.inc"
82 #include "geant321/gctmed.inc"
83 #include "geant321/gctrak.inc"
84 #include "geant321/gcunit.inc"
85 #include "geant321/gcursb.inc"
86 #include "geant321/gcvdma.inc"
87 #include "geant321/gcvol1.inc"
88 #include "geant321/gcvol2.inc"
89 #include "geant321/gcvolu.inc"
90 #include "geant321/gcxlun.inc"
91 #include "geant321/gfkdis.inc"
92 #include "geant321/gsecti.inc"
93       COMMON / QUEST / IQUEST(100)
94 *
95       CHARACTER *(*) CHCOMM
96 #if defined(CERNLIB_DECS)
97       INTEGER*8 GCADDI, GCADDF, GCADDL, GCADDC, IADD
98 #else          
99       INTEGER GCADDI, GCADDF, GCADDL, GCADDC
100 #endif
101 *
102       IF(CHCOMM.EQ.'GCASHO') THEN
103          IADD=GCADDF(ZMED)
104       ELSE IF(CHCOMM.EQ.'IQ') THEN
105          IADD=GCADDI(LQ(8))
106       ELSE IF(CHCOMM.EQ.'LQ') THEN
107          IADD=GCADDF(FENDQ(16))
108       ELSE IF(CHCOMM.EQ.'GCCURS') THEN
109          IADD=GCADDI(INTFLA)
110       ELSE IF(CHCOMM.EQ.'GCCUTS') THEN
111          IADD=GCADDF(CUTGAM)
112       ELSE IF(CHCOMM.EQ.'GCDRAW') THEN
113          IADD=GCADDI(NUMNOD)
114       ELSE IF(CHCOMM.EQ.'GCFDIM') THEN
115          IADD=GCADDI(NPROC)
116       ELSE IF(CHCOMM.EQ.'GCFLAG') THEN
117          IADD=GCADDI(IDEBUG)
118       ELSE IF(CHCOMM.EQ.'GCGOBJ') THEN
119          IADD=GCADDI(IST)
120       ELSE IF(CHCOMM.EQ.'GCBLIM') THEN
121          IADD=GCADDI(IHOLE)
122       ELSE IF(CHCOMM.EQ.'GCHIL2') THEN
123          IADD=GCADDI(LARETT)
124       ELSE IF(CHCOMM.EQ.'GCHILN') THEN
125          IADD=GCADDI(LARECG)
126       ELSE IF(CHCOMM.EQ.'GCHVIR') THEN
127          IADD=GCADDI(JVIRT)
128       ELSE IF(CHCOMM.EQ.'GCJLOC') THEN
129          IADD=GCADDI(NJLOC)
130       ELSE IF(CHCOMM.EQ.'GCJLCK') THEN
131          IADD=GCADDI(NJLCK)
132       ELSE IF(CHCOMM.EQ.'GCJUMP') THEN
133          IADD=GCADDI(JUDCAY)
134       ELSE IF(CHCOMM.EQ.'GCKINE') THEN
135          IADD=GCADDI(IKINE)
136       ELSE IF(CHCOMM.EQ.'GCKING') THEN
137          IADD=GCADDI(KCASE)
138       ELSE IF(CHCOMM.EQ.'GCKIN2') THEN
139          IADD=GCADDI(NGPHOT)
140       ELSE IF(CHCOMM.EQ.'GCKIN3') THEN
141          IADD=GCADDF(GPOS)
142       ELSE IF(CHCOMM.EQ.'GCLINK') THEN
143          IADD=GCADDI(JDIGI)
144       ELSE IF(CHCOMM.EQ.'GCLIST') THEN
145          IADD=GCADDI(NHSTA)
146       ELSE IF(CHCOMM.EQ.'GCLUND') THEN
147          IADD=GCADDI(IFLUND)
148       ELSE IF(CHCOMM.EQ.'GCMATE') THEN
149          IADD=GCADDI(NMAT)
150       ELSE IF(CHCOMM.EQ.'GCMULO') THEN
151          IADD=GCADDF(SINMUL)
152       ELSE IF(CHCOMM.EQ.'GCMUTR') THEN
153          IADD=GCADDI(NCVOLS)
154       ELSE IF(CHCOMM.EQ.'GCMUTC') THEN
155          IADD=GCADDC(GNASH)
156       ELSE IF(CHCOMM.EQ.'GCMZFO') THEN
157          IADD=GCADDI(IOMATE)
158       ELSE IF(CHCOMM.EQ.'GCNUM') THEN
159          IADD=GCADDI(NMATE)
160       ELSE IF(CHCOMM.EQ.'GCOMIS') THEN
161          IADD=GCADDI(KUINIT)
162       ELSE IF(CHCOMM.EQ.'GCONST') THEN
163          IADD=GCADDF(PI)
164       ELSE IF(CHCOMM.EQ.'GCOPTI') THEN
165          IADD=GCADDI(IOPTIM)
166       ELSE IF(CHCOMM.EQ.'GCPARA') THEN
167          IADD=GCADDF(EPSIX0)
168       ELSE IF(CHCOMM.EQ.'GCPARM') THEN
169          IADD=GCADDI(IPARAM)
170       ELSE IF(CHCOMM.EQ.'GCPHNR') THEN
171          IADD=GCADDI(IGNRFN)
172       ELSE IF(CHCOMM.EQ.'GCPHPR') THEN
173          IADD=GCADDF(GFLUPR)
174       ELSE IF(CHCOMM.EQ.'GCPHRD') THEN
175          IADD=GCADDF(GPHRAT)
176       ELSE IF(CHCOMM.EQ.'GCPXRN') THEN
177          IADD=GCADDC(CRNGUP)
178       ELSE IF(CHCOMM.EQ.'GCPXCF') THEN
179          IADD=GCADDF(COFS)
180       ELSE IF(CHCOMM.EQ.'GCPHYS') THEN
181          IADD=GCADDI(IPAIR)
182       ELSE IF(CHCOMM.EQ.'GCPHLT') THEN
183          IADD=GCADDI(ILABS)
184       ELSE IF(CHCOMM.EQ.'GCPIXE') THEN
185          IADD=GCADDI(LIMPRE)
186       ELSE IF(CHCOMM.EQ.'GCPOLY') THEN
187          IADD=GCADDI(IZSEC)
188       ELSE IF(CHCOMM.EQ.'GCPUSH') THEN
189          IADD=GCADDI(NCVERT)
190       ELSE IF(CHCOMM.EQ.'GCRAYT') THEN
191          IADD=GCADDI(INTEN)
192       ELSE IF(CHCOMM.EQ.'GCRZ1') THEN
193          IADD=GCADDI(NRECRZ)
194       ELSE IF(CHCOMM.EQ.'GCRZ2') THEN
195          IADD=GCADDC(RZTAGS)
196       ELSE IF(CHCOMM.EQ.'GCSCAL') THEN
197          IADD=GCADDI(ISLINK)
198       ELSE IF(CHCOMM.EQ.'GCSCAN') THEN
199          IADD=GCADDL(SCANFL)
200       ELSE IF(CHCOMM.EQ.'GCSCAC') THEN
201          IADD=GCADDC(SFIN)
202       ELSE IF(CHCOMM.EQ.'GCSETS') THEN
203          IADD=GCADDI(IHSET)
204       ELSE IF(CHCOMM.EQ.'GCSHPT') THEN
205          IADD=GCADDI(NSHLST)
206       ELSE IF(CHCOMM.EQ.'GCSPEE') THEN
207          IADD=GCADDF(S1)
208       ELSE IF(CHCOMM.EQ.'GCSTAK') THEN
209          IADD=GCADDI(NJTMAX)
210       ELSE IF(CHCOMM.EQ.'GCSTRA') THEN
211          IADD=GCADDF(EMAX)
212       ELSE IF(CHCOMM.EQ.'GCTIME') THEN
213          IADD=GCADDF(TIMINT)
214       ELSE IF(CHCOMM.EQ.'GCTMED') THEN
215          IADD=GCADDI(NUMED)
216       ELSE IF(CHCOMM.EQ.'GCTRAK') THEN
217          IADD=GCADDF(VECT)
218       ELSE IF(CHCOMM.EQ.'GCTPOL') THEN
219          IADD=GCADDF(POLAR)
220       ELSE IF(CHCOMM.EQ.'GCUNIT') THEN
221          IADD=GCADDI(LIN)
222       ELSE IF(CHCOMM.EQ.'GCURSB') THEN
223          IADD=GCADDI(NUMNDS)
224       ELSE IF(CHCOMM.EQ.'GCVDMA') THEN
225          IADD=GCADDI(NVMANY)
226       ELSE IF(CHCOMM.EQ.'GCVOL1') THEN
227          IADD=GCADDI(NLEVL1)
228       ELSE IF(CHCOMM.EQ.'GCVOL2') THEN
229          IADD=GCADDI(NLEVE2)
230       ELSE IF(CHCOMM.EQ.'GCVOLU') THEN
231          IADD=GCADDI(NLEVEL)
232       ELSE IF(CHCOMM.EQ.'GCXLUN') THEN
233          IADD=GCADDI(LUNIT)
234       ELSE IF(CHCOMM.EQ.'GFKDIS') THEN
235          IADD=GCADDF(ZINE)
236       ELSE IF(CHCOMM.EQ.'GSECTI') THEN
237          IADD=GCADDF(AIEL)
238       ELSE IF(CHCOMM.EQ.'GCTLIT') THEN
239          IADD=GCADDF(THRIND)
240       ELSE IF(CHCOMM.EQ.'QUEST') THEN
241          IADD=GCADDI(IQUEST)
242       ELSE IF(CHCOMM.EQ.'GCBANK') THEN
243          IADD=GCADDI(NZEBRA)
244       ELSE
245          WRITE(6,123) CHCOMM
246          IADD=0
247       ENDIF
248 *
249  123  FORMAT(' *** GCOMAD: cannot load common ',A)
250       END