12 real(8),
parameter:: Pnorm = 100.
14 data ( px(i), i= 1 , np )/
15 1 0.158, 0.168, 0.180, 0.193, 0.206, 0.216, 0.225, 0.237,
16 2 0.247, 0.259, 0.264, 0.271, 0.282, 0.293, 0.301, 0.307,
17 3 0.316, 0.328, 0.339, 0.348, 0.360, 0.373, 0.385, 0.396,
18 4 0.411, 0.432, 0.446, 0.461, 0.485, 0.511, 0.539, 0.564,
19 5 0.594, 0.615, 0.625, 0.642, 0.651, 0.672, 0.685, 0.693,
20 6 0.703, 0.734, 0.744, 0.760, 0.766, 0.775, 0.793, 0.808,
21 7 0.817, 0.836, 0.857, 0.873, 0.895, 0.917, 0.951, 0.977,
22 8 0.983, 1.010, 1.028, 1.050, 1.070, 1.095, 1.107, 1.133,
23 9 1.152, 1.194, 1.260, 1.332, 1.386, 1.453, 1.492, 1.557,
24 a 1.640, 1.737, 1.834, 1.942, 2.042, 2.200, 2.302, 2.418,
25 b 2.540, 2.689, 2.836, 3.002, 3.173, 3.409, 3.726, 4.081,
26 c 4.446, 4.754, 5.210, 5.721, 6.372, 6.883,
28 e 11.61 , 16.06 , 23.46 , 32.47 ,
29 f 46.73 , 70.64 , 99.20 , 130.0 ,
30 g 175.5 , 218.0 , 284.3 , 401.2 ,
33 data ( mb(i), i= 1 , np )/
34 1 13.60, 16.34, 19.99, 24.29, 30.30, 36.96, 44.13, 50.01,
35 2 57.84, 63.74, 67.18, 70.42, 71.46, 68.90, 64.93, 62.13,
36 3 57.36, 53.36, 48.12, 44.52, 40.45, 36.29, 33.56, 31.29,
37 4 29.20, 27.18, 26.32, 26.16, 26.63, 27.25, 28.06, 29.45,
38 5 30.84, 32.67, 34.37, 36.91, 39.13, 41.94, 44.22, 46.08,
39 6 47.57, 47.05, 45.75, 44.43, 41.80, 40.05, 38.42, 36.88,
40 7 35.96, 36.28, 37.39, 39.32, 42.16, 45.92, 50.66, 54.82,
41 8 57.46, 59.66, 56.91, 53.99, 50.22, 45.91, 42.98, 40.43,
42 9 38.62, 37.15, 36.16, 36.52, 36.79, 36.16, 35.43, 34.51,
43 a 34.89, 35.23, 35.74, 36.24, 36.11, 35.86, 34.92, 34.33,
44 b 33.70, 32.85, 32.64, 32.87, 32.36, 31.63, 30.92, 30.40,
45 c 29.99, 29.51, 28.83, 28.52, 27.94, 27.77,
47 e 26.02 , 25.29 , 24.98 , 24.77 ,
48 f 24.36 , 24.16 , 24.15 , 24.25 ,
49 g 24.34 , 24.64 , 24.74 , 25.14 ,
55 elseif( p .gt. 0.2)
then 57 call kpolintpfe(px, 1, mb, 1, np, m, p, xs, error)
76 real(8),
parameter:: Pnorm=100.0
77 real(8),
parameter:: sm=(
maspic +
masp + mpdg)**2
78 real(8),
parameter:: smpp=(
masp +
masp + mpdg)**2
81 real(8):: xspel, xspt, xspit
84 logical,
save:: first = .
true.
86 data ( px(i), i= 1 , np )/
87 1 0.1320 , 0.1553 , 0.1731 , 0.1845 ,
88 2 0.2017 , 0.2171 , 0.2280 , 0.2418 ,
89 3 0.2527 , 0.2680 , 0.2871 , 0.3076 ,
90 4 0.3232 , 0.3480 , 0.3785 , 0.4056 ,
91 5 0.4454 , 0.5187 , 0.5611 , 0.6159 ,
92 6 0.6374 , 0.6760 , 0.7242 , 0.7608 ,
93 7 0.7915 , 0.8480 , 0.9085 , 0.9354 ,
94 8 0.9823 , 1.007 , 1.052 , 1.089 ,
95 9 1.128 , 1.221 , 1.354 , 1.531 ,
96 a 1.988 , 2.361 , 2.904 , 3.901 ,
97 b 5.191 , 7.546 , 10.29 , 14.03 ,
98 c 19.51 , 27.40 , 38.66 , 63.24 ,
99 d 100.9 , 170.9 , 263.4 , 366.3
101 data ( mb(i), i= 1 , np )/
102 1 21.81 , 17.87 , 15.43 , 13.60 ,
103 2 11.46 , 11.37 , 12.90 , 16.87 ,
104 3 19.70 , 22.07 , 24.94 , 23.46 ,
105 4 19.14 , 15.05 , 11.98 , 10.78 ,
106 5 9.501 , 10.06 , 11.74 , 13.93 ,
107 6 16.12 , 18.75 , 20.09 , 18.44 ,
108 7 16.12 , 14.80 , 14.98 , 19.05 ,
109 8 23.44 , 25.33 , 23.63 , 20.50 ,
110 9 16.38 , 13.70 , 12.27 , 10.47 ,
111 a 8.894 , 8.098 , 7.434 , 6.578 ,
112 b 5.566 , 5.006 , 4.689 , 4.304 ,
113 c 3.871 , 3.626 , 3.467 , 3.301 ,
114 d 3.220 , 3.180 , 3.325 , 3.577
118 if( p .gt. pnorm)
then 125 * ppp, xsnorm, error)
126 xs = xspit*xspel/xspt
134 xs = xspit*xspel/xspt
136 elseif(p .gt. px(1))
then 138 call kpolintpfe(px, 1, mb, 1, np, m, p, xs, error)
146 real(8),
intent(in)::p
147 real(8),
intent(out)::xs
152 xs =max( txs - exs, 0.
d0)
integer npitbl real *nx parameter(n=101, npitbl=46, nx=n-1) real *8 uconst
real(8), parameter, public m
dE dx *! Nuc Int sampling table e
subroutine cpptotxs(p, xs)
real(8) function, public csigmat(a, b, p)
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 cppelaxs(p, xs)
subroutine cpimpinelaxs(p, xs)
dE dx *! Nuc Int sampling table d
subroutine cpimpelaxs(p, xs)
dE dx *! Nuc Int sampling table b
subroutine kpolintpfe(xa, xstep, ya, ystep, nt, m, x, y, error)
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
dE dx *! Nuc Int sampling table h
dE dx *! Nuc Int sampling table g
subroutine cpimptotxs(p, xs)
dE dx *! Nuc Int sampling table f
dE dx *! Nuc Int sampling table c