This commit was generated by cvs2svn to compensate for changes in r2,
[u/mrichter/AliRoot.git] / GEANT321 / miface / gmxsec.F
1 *
2 * $Id$
3 *
4 * $Log$
5 * Revision 1.1.1.1  1995/10/24 10:21:53  cernlib
6 * Geant
7 *
8 *
9 #include "geant321/pilot.h"
10 *CMZ :  3.21/02 06/07/94  17.30.05  by  S.Giani
11 *-- Author :
12       SUBROUTINE GMXSEC(ILNMEC,SIGNN)
13 C
14 #include "geant321/gctrak.inc"
15 #include "geant321/gcmate.inc"
16 #include "geant321/gcking.inc"
17 #include "geant321/gcnmec.inc"
18 C MICAP commons
19 #include "geant321/mmicap.inc"
20 #include "geant321/minput.inc"
21 #include "geant321/mconst.inc"
22       COMMON/MNUTRN/NAME,NAMEX,E,EOLD,NMED,MEDOLD,NREG,U,V,W,
23      + UOLD,VOLD,WOLD,X,Y,ZZ,XOLD,YOLD,ZOLD,WATE,OLDWT,WTBC,
24      + BLZNT,BLZON,AGE,OLDAGE,INEU,ENE(MAXNEU)
25       INTEGER BLZNT
26 #include "geant321/mapoll.inc"
27 #include "geant321/mpoint.inc"
28 #include "geant321/mrecoi.inc"
29 #include "geant321/mmass.inc"
30 #include "geant321/mpstor.inc"
31 #include "geant321/cmagic.inc"
32 #include "geant321/mcreco.inc"
33       DIMENSION IDCODE(NMECA-IBLOWN)
34       DATA IDCODE /99,2,4,54,8,9,11,12,13,10,55,56,57,58,59,60,61,
35      +            62,63,64,65,66/
36 C
37 C first check, if ZEBRA still in order
38       IF(LD(LMAG1).NE.NMAGIC.OR.LD(LMAG2).NE.NMAGIC) THEN
39          WRITE(6,*) ' CALOR: ZEBRA banks screwed up --> STOP'
40          WRITE(IOUT,'('' MICAP: Magic number '',I12,'' not found: '',  '
41      +   //'      2I12)') NMAGIC,LD(LMAG1),LD(LMAG2)
42          STOP
43       ENDIF
44 C Set the ID according to the process
45       ID = IDCODE(ILNMEC-IBLOWN)
46 *
47       E = GEKIN*1.E9
48       EOLD = E
49 C Material number a la GEANT
50 *      NMED = NCEL
51       NMED = NMAT
52       NMEM=1
53       CALL GTMED(NMED,IMED)
54 C get total cross-section
55       CALL NSIGTA(E,NMED,TSIG,D,LD(LFP32),LD(LFP33))
56 C       THE PARAMETER (IIN) IS THE POINTER FOR ARRAYS DIMENSIONED BY
57 C       (NNUC) AND THE PARAMETER (IIM) IS THE POINTER FOR ARRAYS
58 C       DIMENSIONED BY (NMIX)
59       SIGNN = 0.
60       DO 10 IIM=1,NMIX
61          IF(LD(LFP10+IIM-1).EQ.IMED) THEN
62             IIN = LD(LFP16-1+IIM)
63             CALL GMPLXS(D,LD, LD(LFP20),LD(LFP21),LD(LFP22),LD(LFP23),
64      +      LD(LFP24), LD(LFP25),LD(LFP26),LD(LFP27),LD(LFP28),
65      +      LD(LFP29), LD(LFP30), LD(LFP31),LD(LFP34),LD(LFP35),
66      +      LD(LFP41),LD(LFP41+ NNUC), LD(LFP42),LD(LFP42+MEDIA),
67      +      LD(LFP42+2*MEDIA),LD(LFP42+3* MEDIA), LD(LFP42+4*MEDIA),
68      +      LD(LFP42+5*MEDIA),LD(LFP42+6*MEDIA), LD(LFP42+7*MEDIA),
69      +      LD(LFP42+8*MEDIA),LD(LFP42+9*MEDIA), LD(LFP4 2+10*MEDIA),
70      +      LD(LFP42+11*MEDIA),LD(LFP42+12*MEDIA), LD(LFP42+ 13*MEDIA),
71      +      LD(LFP42+14*MEDIA),LD(LFP42+15*MEDIA), LD(LFP42+16* MEDIA),
72      +      LD(LFP42+17*MEDIA),LD(LFP42+18*MEDIA), LD(LFP42+19* MEDIA),
73      +      LD(LFP42+20*MEDIA),LD(LFP42+21*MEDIA), LD(LFP42+22* MEDIA),
74      +      LD(LFP45),LD(LFP46),LD(LFP13), LD(LFP35+NQ*NNUC), D(LFP35+
75      +      2*NQ*NNUC),IIN,IIM,ID,SIGNN1)
76             SIGNN = SIGNN + SIGNN1*D(LFP12-1+IIM)
77          ENDIF
78    10 CONTINUE
79 C
80       END