5 * Revision 1.1.1.1 1995/10/24 10:20:17 cernlib
9 #include "geant321/pilot.h"
10 *CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani
12 SUBROUTINE GSMIXT(IMAT,NAMATE,A,Z,DENS,NLMAT,WMAT)
14 C. ******************************************************************
16 C. * Defines mixture OR COMPOUND IMAT as composed by *
17 C. * THE BASIC NLMAT materials defined by arrays A,Z and WMAT *
19 C. * If NLMAT.GT.0 then WMAT contains the PROPORTION BY *
20 C. * WEIGTHS OF EACH BASIC MATERIAL IN THE MIXTURE. *
22 C. * If NLMAT.LT.0 then WMAT contains the number of atoms *
23 C. * of a given kind into the molecule of the COMPOUND *
24 C. * In this case, WMAT in output is changed to relative *
27 C. * nb : the radiation length is computed according *
28 C. * the EGS manual slac-210 uc-32 June-78 *
29 C. * formula 2-6-8 (37) *
31 C. * ==>Called by : <USER>, UGEOM *
32 C. * Authors R.Brun, M.Maire ********* *
34 C. ******************************************************************
36 #include "geant321/gcbank.inc"
37 #include "geant321/gcnum.inc"
38 #include "geant321/gcunit.inc"
39 #include "geant321/gcmzfo.inc"
40 DIMENSION WMAT(1),A(1),Z(1)
43 DATA ALR2AV , AL183 / 1.39621E-03 , 5.20948 /
45 C. ------------------------------------------------------------------
47 IF (IMAT.LE.0)GO TO 99
49 CALL MZBOOK(IXCONS,JMATE,JMATE,1,'MATE',NMATE,NMATE,0,3,0)
53 CALL MZPUSH(IXCONS,JMATE,IMAT-NMATE,0,'I')
62 CALL MZDROP(IXCONS,LQ(JMATE-IMAT),' ')
65 CALL MZBOOK(IXCONS,JMA,JMATE,-IMAT,'MATE',20,20,11,IOMATE,0)
70 IF(NAME(NCH:NCH).EQ.'$')NAME(NCH:NCH)=' '
72 CALL UCTOH(NAME,IQ(JMA+1),4,20)
74 C Store mixture parameters
75 C and parameter for Pair/Brems and
76 C Photoelectric routines
80 CALL MZBOOK(IXCONS,JMIXT,JMA,-5,'MAMI',2,2,4*NLM,3,0)
81 CALL MZBOOK(IXCONS,JMI1,JMIXT,-1,'MAM1',0,0,10,3,0)
86 C Compute proportion by weigths in the compound
92 AMOL = AMOL + WMAT(I)*A(I)
93 ZMOL = ZMOL + WMAT(I)*Z(I)
96 WMAT(I)= WMAT(I)*A(I) / AMOL
100 C Compute effective mixture parameters
106 AEFF = AEFF + WMAT(I)*A(I)
107 ZEFF = ZEFF + WMAT(I)*Z(I)
110 XINV = ZC*(ZC+GXSI(ZC))*(AL183-ALZ-GFCOUL(ZC))/A(I)
111 RADINV = RADINV + WMAT(I)*XINV
112 Q(JMIXT+3*NLM+I)=XINV
113 Q(JMIXT + 2* NLM + I) = WMAT(I)
114 Q(JMIXT + NLM + I) = Z(I)
117 RADINV = ALR2AV * DENS * RADINV
119 CALL GHMIX(A,WMAT,NLM,AHEFF)
120 ABSEFF=10000.*AHEFF/(6.022*DENS*GHSIGM(5.,8,AHEFF))
143 90 CHMAIL=' ***** GSMIXT ERROR. MIXTURE WITH NO COMPONENTS'
147 10000 FORMAT(' *** GSMIXT ***: Warning, material redefinition:')