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

Go to the source code of this file.

Functions/Subroutines

subroutine ckpntotxs (p, xs)
 
subroutine ckpnelaxs (p, xs)
 
subroutine ckpninelaxs (p, xs)
 

Function/Subroutine Documentation

◆ ckpnelaxs()

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

Definition at line 43 of file ckpnTotXs.f.

References ckpntotxs(), cppelaxs(), cpptotxs(), false, kpolintpfe(), kpolintplogxyfe(), modpdgxs::m, and parameter().

Referenced by ckpninelaxs(), and ckpntotxs().

43  use modpdgxs, mpdg => m
44 ! K+ n elastic cross section in mb
45  implicit none
46 #include "Zmass.h"
47  real*8 p ! input. momentum of n in GeV
48  real*8 xs ! output np elastic xs. mb.
49 
50  integer np, m, i
51  parameter(np=30, m=5)
52  real*8 px(np), mb(np)
53  real*8 error
54  real*8 xssave/-1./
55  real(8),parameter:: pnorm=50.0
56  real(8),save:: norm
57  real(8):: xspel, xspt, xspit, ppp
58  real(8),save::xsnorm
59 
60 
61  logical,save:: first = .true.
62 
63 
64 
65  data ( px(i), i= 1 , np )/
66  1 0.499, 0.619, 0.759, 0.908, 0.992,
67  2 1.142, 1.348, 1.695, 2.053, 2.717,
68  3 4.086, 5.990, 8.451, 11.331, 15.387,
69  4 21.710, 33.066, 49.724, 75.734, 112.445,
70  5 146.967, 197.049, 271.020, 445.603, 661.604,
71  6 982.309, 1678.060, 2903.360, 5023.390, 7749.220
72  * /
73  data ( mb(i), i= 1 , np )/
74  1 5.160,5.942,6.661,7.318,7.567,
75  2 7.316,6.884,6.263,5.510,4.718,
76  3 4.150,3.505,3.146,2.901,2.711,
77  4 2.550,2.432,2.366,2.365,2.461,
78  5 2.477,2.561,2.648,2.793,2.926,
79  6 3.025,3.169,3.342,3.408,3.668
80  * /
81 
82 
83  save
84 !
85  if( p .gt. pnorm) then
86  if( first ) then
87  ppp = pnorm
88  call cppelaxs(ppp, xspel)
89  call cpptotxs(ppp, xspt)
90  call ckpntotxs(ppp, xspit)
91  call kpolintpfe(px, 1, mb, 1, np, m,
92  * ppp, xsnorm, error)
93  xs = xspit*xspel/xspt
94  norm = xs - xsnorm
95  first=.false.
96  endif
97  ppp = p
98  call cppelaxs(ppp, xspel)
99  call cpptotxs(ppp, xspt)
100  call ckpntotxs(ppp, xspit)
101  xs = xspit*xspel/xspt
102  xs = xs - norm
103  elseif(p .gt. px(1)) then
104 ! take log x only
105  call kpolintplogxyfe(px, 1, mb, 1, np, m, 1, p, xs, error)
106  else
107 ! get value at 0.1
108  xs = mb(1)
109  endif
integer npitbl real *nx parameter(n=101, npitbl=46, nx=n-1) real *8 uconst
real(8), parameter, public m
Definition: cpdgXs.f:13
common ZdedxAir norm
Definition: ZdedxAir.h:2
subroutine cpptotxs(p, xs)
Definition: cppTotXs.f:3
logical, save first
Definition: cNRLAtmos.f:8
nodes i
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
Definition: cblkElemag.h:7
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
subroutine ckpntotxs(p, xs)
Definition: ckpnTotXs.f: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
subroutine cppelaxs(p, xs)
Definition: cppTotXs.f:68
subroutine kpolintpfe(xa, xstep, ya, ystep, nt, m, x, y, error)
Definition: kpolintp.f:134
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
Definition: cblkElemag.h:7
Definition: cpdgXs.f:1
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ckpninelaxs()

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

Definition at line 112 of file ckpnTotXs.f.

References ckpnelaxs(), ckpntotxs(), and d0.

Referenced by cinelx0().

112  implicit none
113  real(8),intent(in)::p
114  real(8),intent(out)::xs
115 
116  real(8)::txs, exs
117  call ckpntotxs(p, txs)
118  call ckpnelaxs(p, exs)
119  xs =max( txs - exs, 0.d0)
subroutine ckpntotxs(p, xs)
Definition: ckpnTotXs.f: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
block data cblkEvhnp ! currently usable models data RegMdls ad *special data *Cekaon d0
Definition: cblkEvhnp.h:5
subroutine ckpnelaxs(p, xs)
Definition: ckpnTotXs.f:43
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ckpntotxs()

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

Definition at line 3 of file ckpnTotXs.f.

References ckpnelaxs(), modpdgxs::csigmat(), kpolintplogxyfe(), and parameter().

Referenced by ckpnelaxs(), ckpninelaxs(), and ctotx0().

3  use modpdgxs, only : csigmat
4  implicit none
5 #include "Zmass.h"
6  real*8 p ! input. momentum of K+. in GeV
7  real*8 xs ! output. total Kn cross section in mb
8  integer np, i, m
9  real*8 error
10  parameter(np=26, m=5)
11  real*8 px(np), mb(np)
12 
13  data ( px(i), i= 1 , np )/
14  1 0.499, 0.596, 0.769, 0.919, 0.967,
15  2 1.071, 1.233, 1.492, 2.001, 2.423,
16  3 3.087, 3.883, 5.140, 7.929, 13.895,
17  4 20.630, 32.647, 51.663, 80.719, 124.520,
18  5 207.359, 392.263, 811.319, 2005.980, 4959.750,
19  6 7848.650
20  * /
21 
22  data ( mb(i), i= 1 , np )/
23  1 10.185, 11.888, 14.742, 17.207, 18.529,
24  2 19.290, 19.418, 18.897, 18.389, 17.896,
25  3 17.652, 17.647, 17.642, 17.752, 17.860,
26  4 17.852, 18.084, 18.319, 18.683, 19.055,
27  5 19.828, 20.910, 21.901, 23.088, 24.670,
28  6 25.501
29  * /
30 
31  save
32  if(p .gt. 10.) then
33  xs = csigmat('K+', 'n', p)
34  elseif( p .gt. 0.6) then
35 ! take log x only
36  call kpolintplogxyfe(px, 1, mb, 1, np, m, 1, p, xs, error)
37  else
38  call ckpnelaxs(p, xs)
39  endif
integer npitbl real *nx parameter(n=101, npitbl=46, nx=n-1) real *8 uconst
nodes i
real(8) function, public csigmat(a, b, p)
Definition: cpdgXs.f:31
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
subroutine ckpnelaxs(p, xs)
Definition: ckpnTotXs.f:43
block data include Zlatfit h c fitting region data data data data data d0 data data d0 data data m
Definition: ZlatfitBD.h:35
Definition: cpdgXs.f:1
Here is the call graph for this function:
Here is the caller graph for this function: