17 real*8 t, tkgpm2, cxai, den, cvh2den, eg
18 real*8 prob, u, cmPairMFP, mfp, xs
19 real*8 tcomp, tphot, tpair, tgp, tcoh
20 real*8 xprob(5), txray(5)
28 eg = trackbefmove%p%fm%p(4)
29 if(lpmeffect .and. eg .gt. lpmpairemin)
then 31 den = cvh2den(trackbefmove%pos%height)
35 elseif( eg .gt. 1.022
d-3 )
then 36 if(eg .le. excom2 )
then 37 call cxrayp(eg, 4, 5, xprob, txray)
38 prob= xprob(4)+xprob(5)
53 if(eg .le. excom1 )
then 55 call cxrayp(eg, 1, 3, xprob, txray)
60 if( eg .lt. maxcomptone )
then 66 if( eg .lt. maxphotoe )
then 72 if( eg .gt. minphotoprode .and. howphotop > 0 )
then 82 if(magpair .eq. 1 .and. eg .gt. magpairemin)
then 83 xai = cxai(trackbefmove%p, mag)
84 if(xai .gt. xaimin)
then 86 t = -log(u) * cmpairmfp(eg, xai)
subroutine ccomptpath(Eg, p, path)
block data cblkElemag data *AnihiE ! Eposi< 1 TeV, anihilation considered *X0/365.667/, ! radiation length of air in kg/m2 *Ecrit/81.e-3/, ! critical energy of air in GeV *MaxComptonE/1./, ! compton is considered below 1 GeV *MaxPhotoE/1.e-3/, ! above this, PhotoElectric effect neg. *MinPhotoProdE/153.e-3/, ! below 153 MeV, no gp --> hadrons ! scattering const not MeV *Knockon true
subroutine cpairlpmxsec(eg, rhoin, xs)
subroutine cxrayp(Exin, m1, m2, p, path)
subroutine csetintinf(lenOrThick, decay, procname)
subroutine cphotoeepath(eg, tp, path)
dE dx *! Nuc Int sampling table d
subroutine cgetphotopxs(model, pj, media, xs, mfp)
block data cblkElemag data *AnihiE ! Eposi< 1 TeV, anihilation considered *X0/365.667/, ! radiation length of air in kg/m2 *Ecrit/81.e-3/, ! critical energy of air in GeV *MaxComptonE/1./, ! compton is considered below 1 GeV *MaxPhotoE/1.e-3/, ! above this, PhotoElectric effect neg. *MinPhotoProdE/153.e-3/, ! below 153 MeV, no gp --> hadrons ! scattering const not MeV *Knockon ! knockon is considered Obsolete *PhotoProd false
subroutine cpairpath(Eg, path)