dlsym not supported on HP, reverting to gcomad
[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 *
94 * Commons for GEANE
95 #include "geant321/ertrio.inc"
96 #include "geant321/eropts.inc"
97 #include "geant321/erwork.inc"
98 * Commons for GEANE
99 *
100       COMMON / QUEST / IQUEST(100)
101 *
102       CHARACTER *(*) CHCOMM
103 #if defined(CERNLIB_DECS)
104       INTEGER*8 GCADDI, GCADDF, GCADDL, GCADDC, GCADDD, IADD
105 #else          
106       INTEGER GCADDI, GCADDF, GCADDL, GCADDC, GCADDD
107 #endif
108 *
109       IF(CHCOMM.EQ.'GCASHO') THEN
110          IADD=GCADDF(ZMED)
111       ELSE IF(CHCOMM.EQ.'IQ') THEN
112          IADD=GCADDI(LQ(8))
113       ELSE IF(CHCOMM.EQ.'LQ') THEN
114          IADD=GCADDF(FENDQ(16))
115       ELSE IF(CHCOMM.EQ.'GCCURS') THEN
116          IADD=GCADDI(INTFLA)
117       ELSE IF(CHCOMM.EQ.'GCCUTS') THEN
118          IADD=GCADDF(CUTGAM)
119       ELSE IF(CHCOMM.EQ.'GCDRAW') THEN
120          IADD=GCADDI(NUMNOD)
121       ELSE IF(CHCOMM.EQ.'GCFDIM') THEN
122          IADD=GCADDI(NPROC)
123       ELSE IF(CHCOMM.EQ.'GCFLAG') THEN
124          IADD=GCADDI(IDEBUG)
125       ELSE IF(CHCOMM.EQ.'GCGOBJ') THEN
126          IADD=GCADDI(IST)
127       ELSE IF(CHCOMM.EQ.'GCBLIM') THEN
128          IADD=GCADDI(IHOLE)
129       ELSE IF(CHCOMM.EQ.'GCHIL2') THEN
130          IADD=GCADDI(LARETT)
131       ELSE IF(CHCOMM.EQ.'GCHILN') THEN
132          IADD=GCADDI(LARECG)
133       ELSE IF(CHCOMM.EQ.'GCHVIR') THEN
134          IADD=GCADDI(JVIRT)
135       ELSE IF(CHCOMM.EQ.'GCJLOC') THEN
136          IADD=GCADDI(NJLOC)
137       ELSE IF(CHCOMM.EQ.'GCJLCK') THEN
138          IADD=GCADDI(NJLCK)
139       ELSE IF(CHCOMM.EQ.'GCJUMP') THEN
140          IADD=GCADDI(JUDCAY)
141       ELSE IF(CHCOMM.EQ.'GCKINE') THEN
142          IADD=GCADDI(IKINE)
143       ELSE IF(CHCOMM.EQ.'GCKING') THEN
144          IADD=GCADDI(KCASE)
145       ELSE IF(CHCOMM.EQ.'GCKIN2') THEN
146          IADD=GCADDI(NGPHOT)
147       ELSE IF(CHCOMM.EQ.'GCKIN3') THEN
148          IADD=GCADDF(GPOS)
149       ELSE IF(CHCOMM.EQ.'GCLINK') THEN
150          IADD=GCADDI(JDIGI)
151       ELSE IF(CHCOMM.EQ.'GCLIST') THEN
152          IADD=GCADDI(NHSTA)
153       ELSE IF(CHCOMM.EQ.'GCLUND') THEN
154          IADD=GCADDI(IFLUND)
155       ELSE IF(CHCOMM.EQ.'GCMATE') THEN
156          IADD=GCADDI(NMAT)
157       ELSE IF(CHCOMM.EQ.'GCMULO') THEN
158          IADD=GCADDF(SINMUL)
159       ELSE IF(CHCOMM.EQ.'GCMUTR') THEN
160          IADD=GCADDI(NCVOLS)
161       ELSE IF(CHCOMM.EQ.'GCMUTC') THEN
162          IADD=GCADDC(GNASH)
163       ELSE IF(CHCOMM.EQ.'GCMZFO') THEN
164          IADD=GCADDI(IOMATE)
165       ELSE IF(CHCOMM.EQ.'GCNUM') THEN
166          IADD=GCADDI(NMATE)
167       ELSE IF(CHCOMM.EQ.'GCOMIS') THEN
168          IADD=GCADDI(KUINIT)
169       ELSE IF(CHCOMM.EQ.'GCONST') THEN
170          IADD=GCADDF(PI)
171       ELSE IF(CHCOMM.EQ.'GCOPTI') THEN
172          IADD=GCADDI(IOPTIM)
173       ELSE IF(CHCOMM.EQ.'GCPARA') THEN
174          IADD=GCADDF(EPSIX0)
175       ELSE IF(CHCOMM.EQ.'GCPARM') THEN
176          IADD=GCADDI(IPARAM)
177       ELSE IF(CHCOMM.EQ.'GCPHNR') THEN
178          IADD=GCADDI(IGNRFN)
179       ELSE IF(CHCOMM.EQ.'GCPHPR') THEN
180          IADD=GCADDF(GFLUPR)
181       ELSE IF(CHCOMM.EQ.'GCPHRD') THEN
182          IADD=GCADDF(GPHRAT)
183       ELSE IF(CHCOMM.EQ.'GCPXRN') THEN
184          IADD=GCADDC(CRNGUP)
185       ELSE IF(CHCOMM.EQ.'GCPXCF') THEN
186          IADD=GCADDF(COFS)
187       ELSE IF(CHCOMM.EQ.'GCPHYS') THEN
188          IADD=GCADDI(IPAIR)
189       ELSE IF(CHCOMM.EQ.'GCPHLT') THEN
190          IADD=GCADDI(ILABS)
191       ELSE IF(CHCOMM.EQ.'GCPIXE') THEN
192          IADD=GCADDI(LIMPRE)
193       ELSE IF(CHCOMM.EQ.'GCPOLY') THEN
194          IADD=GCADDI(IZSEC)
195       ELSE IF(CHCOMM.EQ.'GCPUSH') THEN
196          IADD=GCADDI(NCVERT)
197       ELSE IF(CHCOMM.EQ.'GCRAYT') THEN
198          IADD=GCADDI(INTEN)
199       ELSE IF(CHCOMM.EQ.'GCRZ1') THEN
200          IADD=GCADDI(NRECRZ)
201       ELSE IF(CHCOMM.EQ.'GCRZ2') THEN
202          IADD=GCADDC(RZTAGS)
203       ELSE IF(CHCOMM.EQ.'GCSCAL') THEN
204          IADD=GCADDI(ISLINK)
205       ELSE IF(CHCOMM.EQ.'GCSCAN') THEN
206          IADD=GCADDL(SCANFL)
207       ELSE IF(CHCOMM.EQ.'GCSCAC') THEN
208          IADD=GCADDC(SFIN)
209       ELSE IF(CHCOMM.EQ.'GCSETS') THEN
210          IADD=GCADDI(IHSET)
211       ELSE IF(CHCOMM.EQ.'GCSHPT') THEN
212          IADD=GCADDI(NSHLST)
213       ELSE IF(CHCOMM.EQ.'GCSPEE') THEN
214          IADD=GCADDF(S1)
215       ELSE IF(CHCOMM.EQ.'GCSTAK') THEN
216          IADD=GCADDI(NJTMAX)
217       ELSE IF(CHCOMM.EQ.'GCSTRA') THEN
218          IADD=GCADDF(EMAX)
219       ELSE IF(CHCOMM.EQ.'GCTIME') THEN
220          IADD=GCADDF(TIMINT)
221       ELSE IF(CHCOMM.EQ.'GCTMED') THEN
222          IADD=GCADDI(NUMED)
223       ELSE IF(CHCOMM.EQ.'GCTRAK') THEN
224          IADD=GCADDF(VECT)
225       ELSE IF(CHCOMM.EQ.'GCTPOL') THEN
226          IADD=GCADDF(POLAR)
227       ELSE IF(CHCOMM.EQ.'GCUNIT') THEN
228          IADD=GCADDI(LIN)
229       ELSE IF(CHCOMM.EQ.'GCURSB') THEN
230          IADD=GCADDI(NUMNDS)
231       ELSE IF(CHCOMM.EQ.'GCVDMA') THEN
232          IADD=GCADDI(NVMANY)
233       ELSE IF(CHCOMM.EQ.'GCVOL1') THEN
234          IADD=GCADDI(NLEVL1)
235       ELSE IF(CHCOMM.EQ.'GCVOL2') THEN
236          IADD=GCADDI(NLEVE2)
237       ELSE IF(CHCOMM.EQ.'GCVOLU') THEN
238          IADD=GCADDI(NLEVEL)
239       ELSE IF(CHCOMM.EQ.'GCXLUN') THEN
240          IADD=GCADDI(LUNIT)
241       ELSE IF(CHCOMM.EQ.'GFKDIS') THEN
242          IADD=GCADDF(ZINE)
243       ELSE IF(CHCOMM.EQ.'GSECTI') THEN
244          IADD=GCADDF(AIEL)
245       ELSE IF(CHCOMM.EQ.'GCTLIT') THEN
246          IADD=GCADDF(THRIND)
247       ELSE IF(CHCOMM.EQ.'QUEST') THEN
248          IADD=GCADDI(IQUEST)
249       ELSE IF(CHCOMM.EQ.'ERTRIO') THEN
250          IADD=GCADDD(ERDTRP)
251       ELSE IF(CHCOMM.EQ.'EROPTS') THEN
252          IADD=GCADDF(ERPLI)
253       ELSE IF(CHCOMM.EQ.'EROPTC') THEN
254          IADD=GCADDC(CHOPTI)
255       ELSE IF(CHCOMM.EQ.'ERWORK') THEN
256          IADD=GCADDD(EI)
257       ELSE IF(CHCOMM.EQ.'GCBANK') THEN
258          IADD=GCADDI(NZEBRA)
259       ELSE
260          WRITE(6,123) CHCOMM
261          IADD=0
262       ENDIF
263 *
264  123  FORMAT(' *** GCOMAD: cannot load common ',A)
265       END