COSMOS v7.655  COSMOSv7655
(AirShowerMC)
ckmpTotXs.f
Go to the documentation of this file.
1 ! K- -p total xsection , elastic xs
2  subroutine ckmptotxs(p, xs)
3  implicit none
4 #include "Zmass.h"
5  real*8 p ! input. momentum of n. in GeV
6  real*8 xs ! output. total np cross section in mb
7  integer np, i, m
8  real*8 error
9  parameter(np=44, m=5)
10  real*8 px(np), mb(np)
11  real*8 Z, Y1, Y2, B, s, rts, s0, eta1, eta2
12 
13  parameter(z=17.91, y1=7.1, y2=13.45, b=0.308,
14  * s0=5.38**2, eta1=0.458, eta2=0.545)
15  data ( px(i), i= 1 , 44 )/
16  1 0.9980e-01, 0.1155 , 0.2860 , 0.3614 ,
17  2 0.4023 , 0.4349 , 0.4500 , 0.5158 ,
18  3 0.5913 , 0.6455 , 0.6810 , 0.7291 ,
19  4 0.7618 , 0.7883 , 0.8358 , 0.9258 ,
20  5 0.9816 , 1.036 , 1.082 , 1.164 ,
21  6 1.228 , 1.321 , 1.429 , 1.522 ,
22  7 1.622 , 1.788 , 1.933 , 2.162 ,
23  8 2.454 , 3.026 , 3.769 , 4.927 ,
24  9 7.207 , 9.422 , 12.68 , 16.99 ,
25  a 21.37 , 29.33 , 43.11 , 68.50 ,
26  b 99.22 , 153.1 , 236.3 , 369.9
27  * /
28  data ( mb(i), i= 1 , np )/
29  1 107.3 , 98.89 , 92.45 , 74.10 ,
30  2 68.94 , 63.22 , 49.47 , 40.81 ,
31  3 36.01 , 34.48 , 34.15 , 35.16 ,
32  4 39.84 , 41.20 , 39.84 , 44.71 ,
33  5 48.76 , 51.41 , 47.83 , 40.22 ,
34  6 33.67 , 30.28 , 31.78 , 33.02 ,
35  7 33.83 , 32.39 , 30.14 , 29.71 ,
36  8 28.31 , 26.60 , 26.21 , 24.86 ,
37  9 23.58 , 22.69 , 21.94 , 21.21 ,
38  a 20.91 , 20.61 , 20.22 , 20.22 ,
39  b 20.32 , 20.71 , 21.01 , 21.73
40  * /
41 
42  save
43  if(p .gt. 300.) then
44 ! s =(M+E)^2 - p^2 = M^2 + m^2 +2ME
45 ! =
46  s = masp**2 + maskc**2 + 2*masp*sqrt(p**2 + maskc**2)
47  rts = sqrt(s)
48  xs =z + b*log(s/s0)**2 + y1*(1./s)**eta1 -y2*(1./s)**eta2
49  elseif( p .gt. 0.2) then
50  call kpolintplogxyfe(px, 1, mb, 1, np, m, 3, p, xs, error)
51  else
52  call ckmpelaxs(p, xs)
53  endif
54  end
55 !
56  subroutine ckmpelaxs(p, xs)
57 ! pi+ p elastic cross section in mb
58  implicit none
59  real*8 p ! input. momentum of n in GeV
60  real*8 xs ! output np elastic xs. mb.
61 
62  integer np, m, i
63  parameter(np=40, m=5)
64  real*8 px(np), mb(np)
65  real*8 error
66  real*8 xssave/-1./
67  data ( px(i), i= 1 , np )/
68  1 0.9980e-01, 0.1155 , 0.1460 , 0.1918 ,
69  2 0.2658 , 0.3278 , 0.3794 , 0.4286 ,
70  3 0.4478 , 0.4611 , 0.5010 , 0.5714 ,
71  4 0.6330 , 0.6744 , 0.7081 , 0.7544 ,
72  5 0.7844 , 0.8439 , 0.9395 , 1.041 ,
73  6 1.114 , 1.205 , 1.271 , 1.321 ,
74  7 1.478 , 1.736 , 1.886 , 2.183 ,
75  8 2.589 , 3.419 , 4.094 , 5.000 ,
76  9 6.380 , 8.974 , 13.85 , 23.79 ,
77  a 40.07 , 61.84 , 96.36 , 165.5
78  * /
79  data ( mb(i), i= 1 , np )/
80  1 107.3 , 98.89 , 80.41 , 60.54 ,
81  2 45.36 , 37.60 , 32.71 , 32.08 ,
82  3 28.72 , 24.39 , 21.01 , 18.19 ,
83  4 16.05 , 14.93 , 14.03 , 15.82 ,
84  5 18.54 , 20.32 , 21.32 , 21.21 ,
85  6 18.36 , 15.37 , 12.74 , 10.46 ,
86  7 8.671 , 8.629 , 8.028 , 6.983 ,
87  8 5.844 , 4.845 , 4.337 , 3.977 ,
88  9 3.683 , 3.394 , 3.009 , 2.605 ,
89  a 2.435 , 2.423 , 2.459 , 2.543
90  * /
91 
92  save
93 !
94  if( p .gt. 100.) then
95 ! assume prop.to total
96  if( xssave .lt. 0.) then
97  call ckmptotxs(px(np), xssave)
98  endif
99  call ckmptotxs(p, xs)
100  xs = xs * mb(np)/xssave
101  elseif(p .gt. px(1)) then
102  call kpolintplogxyfe(px, 1, mb, 1, np, m, 3, p, xs, error)
103  else
104 ! get value at 0.1
105  xs = mb(1)
106  endif
107  end
108  subroutine ckmpinelaxs(p, xs)
109  implicit none
110  real(8),intent(in)::p
111  real(8),intent(out)::xs
112 
113  real(8)::txs, exs
114  call ckmptotxs(p, txs)
115  call ckmpelaxs(p, exs)
116  xs =max( txs - exs, 0.d0)
117  end
integer npitbl real *nx parameter(n=101, npitbl=46, nx=n-1) real *8 uconst
dE dx *! Nuc Int sampling table e
Definition: cblkMuInt.h:130
subroutine kpolintplogxyfe(xa, xstep, ya, ystep, nt, m, logxy, x, y, error)
Definition: kpolintp.f:22
maskc
Definition: Zmass.h:5
subroutine ckmptotxs(p, xs)
Definition: ckmpTotXs.f:3
block data cblkEvhnp ! currently usable models data RegMdls ad *special data *Cekaon d0
Definition: cblkEvhnp.h:5
subroutine ckmpinelaxs(p, xs)
Definition: ckmpTotXs.f:130
subroutine ckmpelaxs(p, xs)
Definition: ckmpTotXs.f:55
nodes a
masp
Definition: Zmass.h:5