9 if(intinfarray(processno)%process .eq.
'brems')
then 11 elseif(intinfarray(processno)%process .eq.
'mscat')
then 13 elseif(intinfarray(processno)%process .eq.
'bscat')
then 15 elseif(intinfarray(processno)%process .eq.
'anihi')
then 17 elseif(intinfarray(processno)%process .eq.
'mbrem')
then 21 write(msg, *)
' process#=', processno,
22 *
'and process for electron=',
23 * intinfarray(processno)%process,
' undef' 43 real*8 beg, den, cvh2den
44 real*8 theta, sint, cost, sn, cs
51 * trackbefmove%p%fm%p(4) .gt. lpmbrememin)
then 53 den = cvh2den(trackbefmove%pos%height)
62 atrack%p%fm%p(4) = movedtrack%p%fm%p(4) -beg
66 pwork(nproduced+2) = atrack%p
69 atrack%p%fm%p(4) = beg
72 if( trackbefmove%p%fm%p(4) .lt. 10. )
then 73 call cbremang( trackbefmove%p%fm%p(4), trackbefmove%p%mass,
74 * beg, targetatomicn, theta)
77 if(theta .lt. 0.03
d0)
then 79 cost = 1.- theta**2 / 2
92 pwork(nproduced+1) = atrack%p
93 nproduced = nproduced + 2
105 #include "Zelemagp.h" 108 real*8 e1, er, tmp, cos1, cosr, sine, cs, sn, sinr
116 call cmollerea(movedtrack%p%fm%p(4), recoilkinemine,
117 * e1, er, cos1, cosr)
119 call cbhabhaea(movedtrack%p%fm%p(4), recoilkinemine,
120 * e1, er, cos1, cosr)
124 if(tmp .lt. 0.
d0)
then 136 atrack%p%fm%p(4) = e1
140 pwork(nproduced + 2) = atrack%p
143 if(tmp .lt. 0.
d0)
then 152 atrack%p%fm%p(4) = er
161 pwork(nproduced + 1) = atrack%p
163 nproduced = nproduced + 2
176 real*8 e1, er, cos1, cosr, tmp, sine
183 call canihiea(movedtrack%p%fm%p(4), e1, er, cos1, cosr)
186 if(tmp .lt. 0.
d0)
then 201 atrack%p%fm%p(4) = e1
205 nproduced = nproduced + 1
206 pwork(nproduced) = atrack%p
210 if(tmp .lt. 0.
d0)
then 220 atrack%p%fm%p(4) = er
224 nproduced = nproduced + 1
225 pwork(nproduced) = atrack%p
244 beg = x * movedtrack%p%fm%p(4)
247 atrack%p%fm%p(4) = movedtrack%p%fm%p(4) -beg
249 pwork( nproduced + 2 ) = atrack%p
251 atrack%p%fm%p(4) = beg
254 pwork(nproduced + 1) = atrack%p
256 nproduced = nproduced + 2
subroutine cerrormsg(msg, needrtn)
subroutine cbremsenergy(Ee, Eg)
! for length to thickness conversion or v v ! integer maxnodes real Hinf ! This is used when making table for dim simulation ! The slant length for vertical height to km is ! divided by LenStep m steps ! It can cover the slant length of about km for cos
subroutine cbremang(e, m, eg, z, teta)
max ptcl codes in the kelec
! Parameters used for hadronic cascade shower is generated newline ! For you may give as as or em quick generation of AS for heavy primaries is tried See chookASbyH f character *Generate2 don t touch this for skeleton flesh use integer MagBrem no magnetic bremsstrahlung is considered newline ! if and Ee energy loss due to magnetic brems is considered newline ! if and Ee real sampling of gamma is performed WaitRatio ! must be made small so that WaitRatio *E0 sim MagBremEmin integer MagPair no magnetic pair creation is considered newline ! if and Eg real sampling is the LPM effect is considered when Ee LpmBremEmin for electrons and ! Eg LpmPairEmin for gamma rays real *MagBremEmin E magnetic bremsstrahlung by electrons may be considered if not considered at all newline total energy loss due to brems is considered newline gamma energy is sampled actually newline ! If upsilon(Ee/m *B/Bcr) is small
max ptcl codes in the kseethru ! subcode integer kcasg
subroutine cmollerea(ein, w, es, er, coss, cosr)
block data cblkEvhnp ! currently usable models data RegMdls ad *special data *Cekaon d0
subroutine ctransvectz(zax, dir1, dir2)
subroutine csetdircos(dc, aTrack)
subroutine cmbreme(up, x)
subroutine kcossn(cs, sn)
subroutine cbremerglpm(ee, rho, eg)
subroutine cmkptc(code, subcode, charge, p)
subroutine canihiea(ein, eg1, eg2, cos1, cos2)
subroutine cbhabhaea(ein, w, es, er, coss, cosr)