COSMOS v7.655  COSMOSv7655
(AirShowerMC)
cpimpTotXs.f File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine cpimptotxs (p, xs)
 
subroutine cpimpelaxs (p, xs)
 
subroutine cpimpinelaxs (p, xs)
 

Function/Subroutine Documentation

◆ cpimpelaxs()

subroutine cpimpelaxs ( real*8  p,
real*8  xs 
)

Definition at line 68 of file cpimpTotXs.f.

References a, b, c, cpimptotxs(), d, kpolintplogxyfe(), and parameter().

68 ! pi+ p elastic cross section in mb
69  implicit none
70  real*8 p ! input. momentum of n in GeV
71  real*8 xs ! output np elastic xs. mb.
72 
73  integer np, m, i
74  parameter(np=52, m=5)
75  real*8 px(np), mb(np)
76  real*8 error
77  real*8 xssave/-1./
78  data ( px(i), i= 1 , np )/
79  1 0.1320 , 0.1553 , 0.1731 , 0.1845 ,
80  2 0.2017 , 0.2171 , 0.2280 , 0.2418 ,
81  3 0.2527 , 0.2680 , 0.2871 , 0.3076 ,
82  4 0.3232 , 0.3480 , 0.3785 , 0.4056 ,
83  5 0.4454 , 0.5187 , 0.5611 , 0.6159 ,
84  6 0.6374 , 0.6760 , 0.7242 , 0.7608 ,
85  7 0.7915 , 0.8480 , 0.9085 , 0.9354 ,
86  8 0.9823 , 1.007 , 1.052 , 1.089 ,
87  9 1.128 , 1.221 , 1.354 , 1.531 ,
88  a 1.988 , 2.361 , 2.904 , 3.901 ,
89  b 5.191 , 7.546 , 10.29 , 14.03 ,
90  c 19.51 , 27.40 , 38.66 , 63.24 ,
91  d 100.9 , 170.9 , 263.4 , 366.3
92  * /
93  data ( mb(i), i= 1 , np )/
94  1 21.81 , 17.87 , 15.43 , 13.60 ,
95  2 11.46 , 11.37 , 12.90 , 16.87 ,
96  3 19.70 , 22.07 , 24.94 , 23.46 ,
97  4 19.14 , 15.05 , 11.98 , 10.78 ,
98  5 9.501 , 10.06 , 11.74 , 13.93 ,
99  6 16.12 , 18.75 , 20.09 , 18.44 ,
100  7 16.12 , 14.80 , 14.98 , 19.05 ,
101  8 23.44 , 25.33 , 23.63 , 20.50 ,
102  9 16.38 , 13.70 , 12.27 , 10.47 ,
103  a 8.894 , 8.098 , 7.434 , 6.578 ,
104  b 5.566 , 5.006 , 4.689 , 4.304 ,
105  c 3.871 , 3.626 , 3.467 , 3.301 ,
106  d 3.220 , 3.180 , 3.325 , 3.577
107  * /
108 
109  save
110 !
111  if( p .gt. 300.) then
112 ! assume prop.to total
113  if( xssave .lt. 0.) then
114  call cpimptotxs(px(np), xssave)
115  endif
116  call cpimptotxs(p, xs)
117  xs = xs * mb(np)/xssave
118  elseif(p .gt. px(1)) then
119  call kpolintplogxyfe(px, 1, mb, 1, np, m, 3, p, xs, error)
120  else
121 ! get value at 0.1
122  xs = mb(1)
123  endif
integer npitbl real *nx parameter(n=101, npitbl=46, nx=n-1) real *8 uconst
nodes i
subroutine kpolintplogxyfe(xa, xstep, ya, ystep, nt, m, logxy, x, y, error)
Definition: kpolintp.f:22
! constants used for pair brem in Air real *mbtoPX0 ! mbtoPgrm x X0g If multiplied to sigma in mb
Definition: ZbpCnst.h:3
! constants thru Cosmos real ! if multiplied to deg radian Torad ! light velocity m sec ! infinty ! kg m2 *Togpcm2 g cm2 ! g cm2 *Tokgpm2 kg m2 ! cm *Tom m ! m *Tocm cm ! g cm3 *Tokgpm3 kg m3 ! kg m3 *Togpcm3 g cm3 ! sec *Tonsec nsec ! Tesla m ! Avogadro *A2deninv ! mfp *n * xs
Definition: Zglobalc.h:18
********************block data cblkHeavy ********************integer j data *HeavyG2symbol p
Definition: cblkHeavy.h:7
dE dx *! Nuc Int sampling table d
Definition: cblkMuInt.h:130
block data include Zlatfit h c fitting region data data data data data d0 data data d0 data data m
Definition: ZlatfitBD.h:35
real(4), save a
Definition: cNRLAtmos.f:20
real(4), save b
Definition: cNRLAtmos.f:21
subroutine cpimptotxs(p, xs)
Definition: cpimpTotXs.f:3
dE dx *! Nuc Int sampling table c
Definition: cblkMuInt.h:130
Here is the call graph for this function:

◆ cpimpinelaxs()

subroutine cpimpinelaxs ( real(8), intent(in)  p,
real(8), intent(out)  xs 
)

Definition at line 126 of file cpimpTotXs.f.

References cpimpelaxs(), cpimptotxs(), and d0.

126  implicit none
127  real(8),intent(in)::p
128  real(8),intent(out)::xs
129 
130  real(8)::txs, exs
131  call cpimptotxs(p, txs)
132  call cpimpelaxs(p, exs)
133  xs =max( txs - exs, 0.d0)
! constants thru Cosmos real ! if multiplied to deg radian Torad ! light velocity m sec ! infinty ! kg m2 *Togpcm2 g cm2 ! g cm2 *Tokgpm2 kg m2 ! cm *Tom m ! m *Tocm cm ! g cm3 *Tokgpm3 kg m3 ! kg m3 *Togpcm3 g cm3 ! sec *Tonsec nsec ! Tesla m ! Avogadro *A2deninv ! mfp *n * xs
Definition: Zglobalc.h:18
********************block data cblkHeavy ********************integer j data *HeavyG2symbol p
Definition: cblkHeavy.h:7
block data cblkEvhnp ! currently usable models data RegMdls ad *special data *Cekaon d0
Definition: cblkEvhnp.h:5
subroutine cpimpelaxs(p, xs)
Definition: cpimpTotXs.f:64
subroutine cpimptotxs(p, xs)
Definition: cpimpTotXs.f:3
Here is the call graph for this function:

◆ cpimptotxs()

subroutine cpimptotxs ( real*8  p,
real*8  xs 
)

Definition at line 3 of file cpimpTotXs.f.

References a, c, cpimpelaxs(), d, e, f, g, h, kpolintplogxyfe(), masp, maspic, and parameter().

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=65, 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=20.86, y1=19.24, y2=6.03, b=0.308,
14  * s0=5.38**2, eta1=0.458, eta2=0.545)
15  data ( px(i), i= 1 , np )/
16  1 0.1320 , 0.1553 , 0.1730 , 0.1844 ,
17  2 0.2044 , 0.2178 , 0.2356 , 0.2474 ,
18  3 0.2624 , 0.2798 , 0.3027 , 0.3196 ,
19  4 0.3425 , 0.3688 , 0.4151 , 0.4340 ,
20  5 0.4581 , 0.5030 , 0.5495 , 0.6033 ,
21  6 0.6494 , 0.6721 , 0.6888 , 0.7094 ,
22  7 0.7599 , 0.7867 , 0.8024 , 0.8388 ,
23  8 0.8767 , 0.9073 , 0.9344 , 0.9622 ,
24  9 0.9812 , 1.006 , 1.046 , 1.067 ,
25  a 1.116 , 1.149 , 1.219 , 1.300 ,
26  b 1.385 , 1.470 , 1.614 , 1.763 ,
27  c 1.926 , 2.094 , 2.334 , 2.814 ,
28  d 3.376 , 4.361 , 6.154 , 8.814 ,
29  e 11.61 , 16.06 , 23.46 , 32.47 ,
30  f 46.73 , 70.64 , 99.20 , 130.0 ,
31  g 175.5 , 218.0 , 284.3 , 401.2 ,
32  h 518.1
33  * /
34  data ( mb(i), i= 1 , np )/
35  1 21.81 , 17.87 , 17.87 , 20.68 ,
36  2 29.12 , 37.17 , 47.45 , 57.69 ,
37  3 65.18 , 70.13 , 65.98 , 57.21 ,
38  4 47.06 , 37.16 , 29.10 , 27.38 ,
39  5 26.18 , 26.72 , 28.51 , 31.57 ,
40  6 36.70 , 40.46 , 42.83 , 45.34 ,
41  7 44.61 , 39.48 , 36.99 , 36.10 ,
42  8 37.44 , 41.62 , 46.08 , 51.02 ,
43  9 55.80 , 59.31 , 55.57 , 51.22 ,
44  a 42.65 , 39.31 , 36.98 , 36.38 ,
45  b 36.83 , 35.94 , 34.79 , 35.07 ,
46  c 36.08 , 36.37 , 35.20 , 32.85 ,
47  d 31.66 , 30.15 , 28.47 , 26.89 ,
48  e 26.02 , 25.29 , 24.98 , 24.77 ,
49  f 24.36 , 24.16 , 24.15 , 24.25 ,
50  g 24.34 , 24.64 , 24.74 , 25.14 ,
51  h 25.55
52  * /
53  save
54  if(p .gt. 300.) then
55 ! s =(M+E)^2 - p^2 = M^2 + m^2 +2ME
56 ! =
57  s = masp**2 + maspic**2 + 2*masp*sqrt(p**2 + maspic**2)
58  rts = sqrt(s)
59  xs =z + b*log(s/s0)**2 + y1*(1./s)**eta1 -y2*(1./s)**eta2
60  elseif( p .gt. 0.2) then
61  call kpolintplogxyfe(px, 1, mb, 1, np, m, 3, p, xs, error)
62  else
63  call cpimpelaxs(p, xs)
64  endif
integer npitbl real *nx parameter(n=101, npitbl=46, nx=n-1) real *8 uconst
nodes z
dE dx *! Nuc Int sampling table e
Definition: cblkMuInt.h:130
nodes i
subroutine kpolintplogxyfe(xa, xstep, ya, ystep, nt, m, logxy, x, y, error)
Definition: kpolintp.f:22
! constants used for pair brem in Air real *mbtoPX0 ! mbtoPgrm x X0g If multiplied to sigma in mb
Definition: ZbpCnst.h:3
real(4), dimension(:), allocatable, save h
Definition: cNRLAtmos.f:28
! constants thru Cosmos real ! if multiplied to deg radian Torad ! light velocity m sec ! infinty ! kg m2 *Togpcm2 g cm2 ! g cm2 *Tokgpm2 kg m2 ! cm *Tom m ! m *Tocm cm ! g cm3 *Tokgpm3 kg m3 ! kg m3 *Togpcm3 g cm3 ! sec *Tonsec nsec ! Tesla m ! Avogadro *A2deninv ! mfp *n * xs
Definition: Zglobalc.h:18
********************block data cblkHeavy ********************integer j data *HeavyG2symbol p
Definition: cblkHeavy.h:7
dE dx *! Nuc Int sampling table d
Definition: cblkMuInt.h:130
subroutine cpimpelaxs(p, xs)
Definition: cpimpTotXs.f:64
block data include Zlatfit h c fitting region data data data data data d0 data data d0 data data m
Definition: ZlatfitBD.h:35
real(4), save a
Definition: cNRLAtmos.f:20
dE dx *! Nuc Int sampling table g
Definition: cblkMuInt.h:130
masp
Definition: Zmass.h:5
real(4), save b
Definition: cNRLAtmos.f:21
maspic
Definition: Zmass.h:5
dE dx *! Nuc Int sampling table f
Definition: cblkMuInt.h:130
dE dx *! Nuc Int sampling table c
Definition: cblkMuInt.h:130
Here is the call graph for this function: