29 if(intinfarray(processno)%length .gt. 0.)
then 30 if(activemcs ==
"El_con")
then 32 sgr =intinfarray(processno)%thickness
34 elseif(abs(moliere) >= 2)
then 39 elseif(abs(moliere) == 1)
then 41 elseif( moliere == 0 )
then 62 real*8 tetarms, g1, g2, u, beta2, dt
68 g1 = trackbefmove%p%fm%p(4)/movedtrack%p%mass
69 g2 = movedtrack%p%fm%p(4)/movedtrack%p%mass
70 beta2 = 1.
d0 - 1.
d0/g1/g2
71 if(beta2 .le. 0.)
then 74 dt = intinfarray(processno)%thickness/ x0
75 if(dt .gt. 1.
d-3)
then 76 tetarms = es/trackbefmove%p%fm%p(4)*
77 * abs(movedtrack%p%charge) *
78 * sqrt(dt/beta2)*(1.0 + 0.038*log(dt))
80 tetarms = es/trackbefmove%p%fm%p(4)*
81 * abs(movedtrack%p%charge) * sqrt(dt/beta2)
86 do while(theta .gt. hpi)
92 theta = sqrt(-log(u))* tetarms
102 #include "Zelemagp.h" 110 real*8 t, tmp, avx, avy, disp, cs, sn, e1, e2, d1, d2
114 e1 = trackbefmove%p%fm%p(4)
115 g1 = e1/trackbefmove%p%mass
116 e2 = movedtrack%p%fm%p(4)
117 g2 = e2/movedtrack%p%mass
119 * (trackbefmove%pos%height+movedtrack%pos%height)/2.
d0 122 leng = intinfarray(processno)%length
124 chg = movedtrack%p%charge
125 call cmoliere(rho, chg, movedtrack%p%mass, g1, g2,
140 real(8),
intent(in):: sgr
141 real(8),
intent(out):: theta
143 real(8)::cm2topgrm,s0,s1, s2, ls1, ls2
144 real(8):: mu, cosa, sina
149 call ctpxs(tpxsnow, 1, keev, s0, s1, s2)
151 cm2topgrm = media(1)%mbtoPkgrm/ 1
d-27
152 ls1 =1.0/(s1*cm2topgrm)
153 ls2 =1.0/(s2*cm2topgrm)
155 avemu = (1.0
d0 - exp(-sgr/ls1))/2
156 avemu2 = avemu - (1- exp(-sgr/ls2) )/6.
d0 157 if( avemu > 0.49999999
d0 )
then 162 bsoft =( 2*avemu - 3*avemu2 )/(1-2*avemu)
163 asoft = (1-2*avemu) + bsoft
165 call csampsoftmcsang(mu, cosa)
integer npitbl real *nx parameter(n=101, npitbl=46, nx=n-1) real *8 uconst
subroutine cmulscat1(theta)
block data cblkEvhnp ! currently usable models data RegMdls ad *special data *Cekaon d0
subroutine cmoliere(rhoin, z, mass, g1, g2, leng, teta, cond)
! constants thru Cosmos real * pi
subroutine cmulscat2(theta)
dE dx *! Nuc Int sampling table d
subroutine celsepacondense(sgr, theta)
subroutine csampmol(mediax, teta, cond)
subroutine cmulscat(theta)