5 * Revision 1.1.1.1 1995/10/24 10:21:22 cernlib
9 #include "geant321/pilot.h"
10 *CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani
14 C. ******************************************************************
16 C. * Initialize the bremsstrahlung energy loss tables *
17 C. * ( See L.Urban report) *
19 C. * ==>Called by : GPHYSI *
20 C. * Author G.Patrick, L.Urban ********* *
22 C. ******************************************************************
24 #include "geant321/gcbank.inc"
25 #include "geant321/gcmulo.inc"
26 #include "geant321/gcjloc.inc"
27 #include "geant321/gctrak.inc"
28 #include "geant321/gccuts.inc"
29 #include "geant321/gcmate.inc"
30 #include "geant321/gconsp.inc"
31 #include "geant321/gcphys.inc"
33 DATA DEM/-6.76228E-1,4.35611E-1,-4.69224E-1,-7.05133E-3,
34 + 1.31200,-8.07563E-1,-6.96166E-1,3.62549E-1/
36 C. ------------------------------------------------------------------
38 C Number of constituents(ie. element,mixture or compound).
42 IF (NLMAT.EQ.0) GO TO 999
49 XE1 = 10.**(EKBIN(1)+(ICHAN-0.5)/GEKA)
51 C==========> A,Bremsstrahlung losses for electrons
52 C special treatment for compounds/mixtures
56 C simple material (element)
58 DEDX=GBRELE(Z,XE,BCUTE)
61 * *** auxiliary integration point for Range tables
62 IF(ICHAN.NE.NEK1) THEN
63 DEDX1=GBRELE(Z,XE1,BCUTE)
64 DEDX1=AVO*DENS*DEDX1/A
77 S = GBRELE(ZZ,XE,BCUTE)
81 * *** auxiliary integration point for Range tables
82 IF(ICHAN.NE.NEK1) THEN
83 S = GBRELE(ZZ,XE1,BCUTE)
85 DEDX1= DEDX1+AVO*DENS*S
91 Q(JEL1+ICHAN)=Q(JEL1+ICHAN)+DEDX
92 FACT = GBFLOS(XE,BCUTE)
93 Q(JEL1+ICHAN+NEK1)=Q(JEL1+ICHAN+NEK1)+FACT*DEDX
95 IF(ISTRA.NE.0) Q(JEL1+ICHAN+2*NEK1) = DEDX
97 * *** auxiliary integration point for Range tables
98 IF(ICHAN.NE.NEK1) THEN
99 IF(DEDX1.LT.0.)DEDX1=0.
100 WS(ICHAN)=WS(ICHAN)+DEDX1
101 FACT = GBFLOS(XE1,BCUTE)
102 WS(NEKBIN+ICHAN)=WS(NEKBIN+ICHAN)+FACT*DEDX1
105 C===========> B, Bremsstrahlung losses for muons
108 CONS1=3.26485E-8*Z*Z*DENS/A
109 CONS2=LOG(2.70511)-LOG(A)/3.
112 DEDX=DEM(1)+RL*DEM(3)+R*(DEM(5)+R*DEM(7))
113 DEDX=DEDX+CONS2*(DEM(2)+RL*DEM(4)+R*(DEM(6)+R*DEM(8)))
115 IF(DEDX.LT.0.)DEDX=0.
116 Q(JEL2+ICHAN)=Q(JEL2+ICHAN)+DEDX
118 IF(ISTRA.NE.0) Q(JEL2+ICHAN+NEK1) = DEDX
120 * *** auxiliary integration point for Range tables
121 IF(ICHAN.NE.NEK1) THEN
124 DEDX1=DEM(1)+RL*DEM(3)+R*(DEM(5)+R*DEM(7))
125 DEDX1=DEDX1+CONS2*(DEM(2)+RL*DEM(4)+R*(DEM(6)+R*DEM(8)))
126 DEDX1=CONS1*XE1*DEDX1
127 IF(DEDX1.LT.0.)DEDX1=0.
128 WS(NEKBIN*2+ICHAN) = WS(NEKBIN*2+ICHAN)+DEDX1
132 20 IF(JMIXT.EQ.0)THEN
134 C simple material (element)
136 DEDX=GBRELM(Z,XE,BCUTM)
139 * *** auxiliary integration point for Range tables
140 IF(ICHAN.NE.NEK1) THEN
141 DEDX1=GBRELM(Z,XE1,BCUTM)
142 DEDX1=AVO*DENS*DEDX1/A
155 S = GBRELM(ZZ,XE,BCUTM)
157 DEDX= DEDX+AVO*DENS*S
159 * *** auxiliary integration point for Range tables
160 IF(ICHAN.NE.NEK1) THEN
161 S = GBRELM(ZZ,XE1,BCUTM)
163 DEDX1= DEDX1+AVO*DENS*S
168 IF(DEDX.LT.0.)DEDX=0.
169 Q(JEL2+ICHAN)=Q(JEL2+ICHAN)+DEDX
171 IF(ISTRA.NE.0) Q(JEL2+ICHAN+NEK1) = DEDX
173 * *** auxiliary integration point for Range tables
174 IF(ICHAN.NE.NEK1) THEN
175 IF(DEDX1.LT.0.)DEDX1=0.
176 WS(NEKBIN*2+ICHAN)=WS(NEKBIN*2+ICHAN)+DEDX1