13 data ( px(i), i= 1 , np )/
14 1 0.1001 , 0.1126 , 0.1224 , 0.1337 ,
15 2 0.1489 , 0.1716 , 0.1912 , 0.2119 ,
16 3 0.2395 , 0.2590 , 0.2856 , 0.3135 ,
17 4 0.3407 , 0.3739 , 0.4207 , 0.4595 ,
18 5 0.4996 , 0.5512 , 0.6082 , 0.6646 ,
19 6 0.7227 , 0.7781 , 0.8378 , 0.9246 ,
20 7 1.051 , 1.225 , 1.400 , 1.584 ,
21 8 1.827 , 2.161 , 2.506 , 2.949 ,
22 9 3.470 , 4.063 , 4.950 , 5.767 ,
23 a 6.854 , 8.432 , 10.07 , 12.09 ,
24 b 15.02 , 18.75 , 23.07 , 28.66 ,
25 c 36.68 , 47.41 , 61.27 , 78.80 ,
26 d 99.85 , 130.3 , 174.4 , 236.8 ,
29 data ( mb(i), i= 1 , np )/
30 1 1465. , 1264. , 1097. , 946.4 ,
31 2 782.0 , 619.0 , 489.9 , 395.0 ,
32 3 301.3 , 242.9 , 197.0 , 152.1 ,
33 4 122.7 , 100.7 , 78.76 , 65.88 ,
34 5 56.14 , 48.73 , 44.17 , 42.57 ,
35 6 41.28 , 38.34 , 35.40 , 34.12 ,
36 7 34.12 , 36.07 , 38.13 , 40.30 ,
37 8 41.06 , 42.61 , 43.41 , 43.42 ,
38 9 43.42 , 42.64 , 42.12 , 42.13 ,
39 a 41.11 , 40.86 , 40.62 , 39.64 ,
40 b 39.16 , 39.90 , 39.66 , 39.67 ,
41 c 39.43 , 39.44 , 38.73 , 39.46 ,
42 d 39.23 , 39.48 , 40.47 , 39.99 ,
47 if( totxsopt == 1 )
then 51 if( totxsopt == 2 )
then 52 xs = 42.6*(s)**(-0.46) - 33.4*(s)**(-0.545) + 35.5 +
53 * 0.295*log(s/29.1)**2
54 elseif( totxsopt == 3)
then 55 xs = 42.6*(s)**(-0.46) - 33.4*(s)**(-0.545) + 35.5 +
56 * 0.307*log(s/29.1)**2
58 write(0,*)
' TotXSopt=', totxsopt,
' invalid' 62 elseif( p .gt. 0.4)
then 63 call kpolintpfe(px, 1, mb, 1, np, m, p, xs, error)
83 real(8),
parameter:: Pnorm=50.0
84 real(8),
save:: xsn, Norm
85 real(8):: xspel, xspt, xspit, ppp
88 logical,
save:: first = .
true.
91 data ( px(i), i= 1 , np )/
92 1 0.9860
e-02, 0.1271
e-01, 0.1942
e-01, 0.3230
e-01,
93 2 0.4935
e-01, 0.7025
e-01, 0.1000 , 0.1187 ,
94 3 0.1294 , 0.1472 , 0.1692 , 0.1988 ,
95 4 0.2386 , 0.2833 , 0.3257 , 0.3785 ,
96 5 0.4803 , 0.5145 , 0.5818 , 0.6548 ,
97 6 0.7628 , 0.8543 , 0.9906 , 1.132 ,
98 7 1.243 , 1.413 , 1.575 , 1.712 ,
99 8 2.180 , 2.960 , 3.788 , 5.068 ,
100 9 8.427 , 16.91 , 37.07 , 66.05 ,
103 data ( mb(i), i= 1 , np )/
104 1 8452. , 7556. , 6039. , 4437. ,
105 2 3306. , 2362. , 1549. , 1169. ,
106 3 1022. , 813.3 , 621.7 , 438.5 ,
107 4 301.1 , 198.5 , 136.3 , 100.1 ,
108 5 60.07 , 50.88 , 42.83 , 40.02 ,
109 6 34.96 , 32.67 , 31.88 , 30.92 ,
110 7 31.31 , 29.80 , 26.85 , 24.78 ,
111 8 21.65 , 18.23 , 15.92 , 12.92 ,
112 9 11.43 , 10.17 , 9.629 , 9.575 ,
116 if( p .gt. pnorm)
then 123 * ppp, xsnorm, error)
124 xs = xspit*xspel/xspt
132 xs = xspit*xspel/xspt
134 elseif(p .gt. 0.01)
then 143 real(8),
intent(in)::p
144 real(8),
intent(out)::xs
149 xs =max( txs - exs, 0.
d0)
integer npitbl real *nx parameter(n=101, npitbl=46, nx=n-1) real *8 uconst
dE dx *! Nuc Int sampling table e
subroutine cpptotxs(p, xs)
subroutine cnptotxs(p, xs)
subroutine cnpinelaxs(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
subroutine kpolintplogxyfe(xa, xstep, ya, ystep, nt, m, logxy, x, y, error)
block data cblkEvhnp ! currently usable models data RegMdls ad *special data *Cekaon d0
subroutine cppelaxs(p, xs)
subroutine cnpelaxs(p, xs)
dE dx *! Nuc Int sampling table d
real(8) function, public csofstu(p, Mp, Mt)
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 c