1 subroutine cknockp(aPtcl, prob, path)
18 real*8 g, temp, erg, mass, u
21 call cerrormsg(
'cdedxEleci must be called beforehand',0)
31 * (1.0 + 2*g* (
masele/mass)
42 if(mass .lt. 0.11
d0 .or. mass .gt. 0.9
d0)
then 44 temp = temp + (
tmax -
w0)/erg/erg/2.
d0 54 subroutine cknockea(aPtcl, erg2, erge, cos1, cosr)
77 real*8 mass, erg, u, temp, t
85 do while(.not. accept)
90 if(mass .lt. 0.11
d0 .or. mass .gt. 0.9
d0)
then 91 temp = temp + t*t/erg**2/2.
d0 104 erg2 = max( erg - erge +
masele, mass)
118 p02 = erg**2 - mass**2
119 p12 = erg2**2 -mass**2
121 if(p12 .le. 0.
d0 )
then 125 cos1 = (erg*erg2 - mass**2 -
masele*t)/
127 if(cos1 .gt. 1.
d0)
then 129 elseif(cos1 .lt. -1.
d0)
then 134 if(cosr .gt. 1.
d0)
then 136 elseif(cosr .lt. -1.
d0)
then integer npitbl real *nx parameter(n=101, npitbl=46, nx=n-1) real *8 uconst
subroutine cerrormsg(msg, needrtn)
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
block data cblkEvhnp ! currently usable models data RegMdls ad *special data *Cekaon d0
subroutine cknockea(aPtcl, erg2, erge, cos1, cosr)
subroutine cknockp(aPtcl, prob, 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 ! knockon is considered Obsolete *PhotoProd false