3 subroutine cinelx(pj, A, Z, xs)
10 real(8),
intent(in):: A
11 real(8),
intent(in):: Z
12 real(8),
intent(out):: xs
20 if( a == 1.0 .and. pj%code ==
kgnuc )
then 26 gamma = pj%fm%p(4)/pj%mass
29 if( tcharge == 0 )
then 30 target%fm%p(4) = gamma*
masn 32 target%fm%p(4) = gamma*
masp 34 call cinelx0(
target, pja, pjz, xs)
41 subroutine cinelx0(pj, A, Z, xs)
48 real(8),
intent(in):: A
49 real(8),
intent(in):: Z
50 real(8),
intent(out):: xs
54 real(8),
external:: cPDGsigmaInepA
55 real(8),
save:: Aprev=-100.,
norm 56 real(8):: xs200, xs200A
61 if( pj%fm%p(4) .le. pj%mass)
then 63 if(pj%code .eq.
knuc .and. pj%subcode .eq.
antip)
then 65 elseif(pj%code .eq.
kelec .and. pj%charge .eq. 1)
then 71 p = sqrt(pj%fm%p(4)**2 - pj%mass**2)
72 if(pj%code .eq.
knuc)
then 73 if(pj%charge .eq. 1)
then 80 write(0,*)
'A,Z=',a,z,
'for p pj' 81 write(0,*)
'in cinelx; invalid' 92 write(0,*)
' A,Z for cinelx invalid' 93 write(0,*)
' pj is p ' 96 elseif(pj%charge .eq. -1)
then 107 elseif(pj%subcode .eq.
antip)
then 124 elseif(pj%code ==
kpion )
then 125 if(pj%charge .eq. 1)
then 127 elseif(pj%charge .eq. -1)
then 138 elseif(pj%code .eq.
kkaon)
then 139 if(pj%charge .eq. 1)
then 146 elseif(a .gt. 1.)
then 150 shp = (shp + shn)/2.0
154 write(0,*)
'A,Z=',a,z,
' invalid for cinel%Kaon' 157 elseif(pj%charge .eq. -1)
then 179 elseif(pj%code .eq.
kgnuc )
then 182 elseif(pj%code .eq.
kdmes)
then 185 elseif(pj%code .eq.
kgzai .or. pj%code .eq.
ksigma .or.
192 elseif(pj%code ==
kphoton )
then 193 call cgpxsec(a, pj%fm%p(4), xs)
194 elseif(pj%code .eq.
kneumu)
then 196 elseif(pj%code .eq.
kneue)
then 198 elseif(pj%code ==
kneutau)
then 200 elseif(pj%code ==
knnb .or. pj%code ==
kddb )
then 202 elseif(pj%code ==
kmuon)
then 203 write(0,*)
'cinelx: code=',pj%code,
' should not come' 215 if( xs /= smallxs )
then 216 if(a > 1. .and. a /= aprev )
then 220 norm = cpdgsigmainepa(a) /xs200a
223 elseif( a == 1.)
then 236 real(8),
intent(in):: A
245 ratio = (1.006+0.0268*a/100.)*0.957
249 elseif( abs(a - 16.) < 0.1 )
then 251 elseif( abs( a- 7.0) < 0.1 )
then 253 elseif( a > 7. )
then 255 ratio = (-0.100*temp + 0.57311)*temp +0.1578
256 elseif( abs( a- 4.) < 0.1 )
then 258 elseif( abs( a- 2.) < 0.1 )
then 260 elseif (abs(a-1.0) < 0.1 )
then 263 ratio = -0.025*(a-4) + 0.975
max ptcl codes in the kgzai
subroutine cinelx(pj, A, Z, xs)
max ptcl codes in the kdmes
max ptcl codes in the kgnuc
subroutine cnpinelaxs(p, xs)
max ptcl codes in the klambdac
max ptcl codes in the kkaon
max ptcl codes in the kelec
max ptcl codes in the kneue
subroutine cinelx0(pj, A, Z, xs)
subroutine cxp2xaxsec(a, xsxp, xsxa)
max ptcl codes in the kneutau
subroutine caaxsec2(pj, tgA, tgZ, xs)
block data cblkEvhnp ! currently usable models data RegMdls ad *special data *Cekaon d0
max ptcl codes in the klambda
********************block data cblkHeavy ********************integer j data *HeavyG2symbol *data *HeavyG2code knuc
max ptcl codes in the kneumu
subroutine cpimpinelaxs(p, xs)
subroutine ckmpinelaxs(p, xs)
subroutine ckpninelaxs(p, xs)
max ptcl codes in the knnb
real(8) function cinelcosbypdg(A)
subroutine cmkptc(code, subcode, charge, p)
subroutine cnbarpinelaxs(p, xs)
max ptcl codes in the kseethru ! subcode integer antip
subroutine ckppinelaxs(p, xs)
max ptcl codes in the kpion
subroutine cpbarpinelaxs(p, xs)
max ptcl codes in the ksigma
max ptcl codes in the kddb
max ptcl codes in the kmuon
subroutine cppinelaxs(p, xs)
max ptcl codes in the kbomega
subroutine ckmninelaxs(p, xs)
subroutine cgpxsec(a, energy, xs)
subroutine cpippinelaxs(p, xs)