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

Go to the source code of this file.

Functions/Subroutines

subroutine ckmptotxs (p, xs)
 
subroutine ckmpelaxs (p, xs)
 
subroutine ckmpinelaxs (p, xs)
 

Function/Subroutine Documentation

◆ ckmpelaxs()

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

Definition at line 55 of file ckmpTotXs.f.

References a, ckmptotxs(), cppelaxs(), cpptotxs(), e, false, kpolintpfe(), modpdgxs::m, and parameter().

Referenced by ckmnelaxs(), ckmpinelaxs(), and ckmptotxs().

55  use modpdgxs, mpdg => m
56 ! pi+ p elastic cross section in mb
57  implicit none
58 #include "Zmass.h"
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 
67  real(8),parameter:: pnorm=50.0
68  real(8)::spip, spp, epp, pnormpp, ppp
69  real(8):: xspel, xspt, xspit, norm
70  real(8),save::xsnorm
71 
72  logical,save:: first = .true.
73 
74 
75  data ( px(i), i= 1 , np )/
76  1 0.9980e-01, 0.1155 , 0.1460 , 0.1918 ,
77  2 0.2658 , 0.3278 , 0.3794 , 0.4286 ,
78  3 0.4478 , 0.4611 , 0.5010 , 0.5714 ,
79  4 0.6330 , 0.6744 , 0.7081 , 0.7544 ,
80  5 0.7844 , 0.8439 , 0.9395 , 1.041 ,
81  6 1.114 , 1.205 , 1.271 , 1.321 ,
82  7 1.478 , 1.736 , 1.886 , 2.183 ,
83  8 2.589 , 3.419 , 4.094 , 5.000 ,
84  9 6.380 , 8.974 , 13.85 , 23.79 ,
85  a 40.07 , 61.84 , 96.36 , 165.5
86  * /
87  data ( mb(i), i= 1 , np )/
88  1 107.3 , 98.89 , 80.41 , 60.54 ,
89  2 45.36 , 37.60 , 32.71 , 32.08 ,
90  3 28.72 , 24.39 , 21.01 , 18.19 ,
91  4 16.05 , 14.93 , 14.03 , 15.82 ,
92  5 18.54 , 20.32 , 21.32 , 21.21 ,
93  6 18.36 , 15.37 , 12.74 , 10.46 ,
94  7 8.671 , 8.629 , 8.028 , 6.983 ,
95  8 5.844 , 4.845 , 4.337 , 3.977 ,
96  9 3.683 , 3.394 , 3.009 , 2.605 ,
97  a 2.435 , 2.423 , 2.459 , 2.543
98  * /
99 
100  save
101 !
102  if( p .gt. pnorm) then
103  if( first ) then
104  ppp = pnorm
105  call cppelaxs(ppp, xspel)
106  call cpptotxs(ppp, xspt)
107  call ckmptotxs(ppp, xspit)
108  call kpolintpfe(px, 1, mb, 1, np, m,
109  * ppp, xsnorm, error)
110  xs = xspit*xspel/xspt
111  norm = xs - xsnorm
112 
113  first=.false.
114  endif
115  ppp = p
116  call cppelaxs(ppp, xspel)
117  call cpptotxs(ppp, xspt)
118  call ckmptotxs(ppp, xspit)
119  xs = xspit*xspel/xspt
120  xs = xs - norm
121  elseif(p .gt. px(1)) then
122 ! call kpolintplogxyFE(px, 1, mb, 1, np, m, 3, p, xs, error)
123  call kpolintpfe(px, 1, mb, 1, np, m, p, xs, error)
124  else
125 ! get value at 0.1
126  xs = mb(1)
127  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
dE dx *! Nuc Int sampling table e
Definition: cblkMuInt.h:130
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
! 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 ckmptotxs(p, xs)
Definition: ckmpTotXs.f:3
subroutine cppelaxs(p, xs)
Definition: cppTotXs.f:68
subroutine kpolintpfe(xa, xstep, ya, ystep, nt, m, x, y, error)
Definition: kpolintp.f:134
real(4), save a
Definition: cNRLAtmos.f:20
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:

◆ ckmpinelaxs()

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

Definition at line 130 of file ckmpTotXs.f.

References ckmpelaxs(), ckmptotxs(), and d0.

Referenced by cinelx0(), and ckminuspxsec().

130  implicit none
131  real(8),intent(in)::p
132  real(8),intent(out)::xs
133 
134  real(8)::txs, exs
135  call ckmptotxs(p, txs)
136  call ckmpelaxs(p, exs)
137  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
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 ckmpelaxs(p, xs)
Definition: ckmpTotXs.f:55
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ckmptotxs()

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

Definition at line 3 of file ckmpTotXs.f.

References a, b, ckmpelaxs(), modpdgxs::csigmat(), e, kpolintpfe(), and parameter().

Referenced by ckmntotxs(), ckmpelaxs(), ckmpinelaxs(), and ctotx0().

3  use modpdgxs, only: csigmat
4  implicit none
5 #include "Zmass.h"
6  real*8 p ! input. momentum of n. in GeV
7  real*8 xs ! output. total np cross section in mb
8  integer np, i, m
9  real*8 error
10  parameter(np=45, m=3)
11  real*8 px(np), mb(np)
12  real(8),parameter:: pnorm=10.
13 
14  data ( px(i), i= 1 , np )/
15  1 0.9980e-01, 0.1155 , 0.2860 , 0.3614 ,
16  2 0.4023 , 0.4349 , 0.4500 , 0.48 ,
17  * 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 , 42.0,
31  * 40.81 ,
32  3 36.01 , 34.48 , 34.15 , 35.16 ,
33  4 39.84 , 41.20 , 39.84 , 44.71 ,
34  5 48.76 , 51.41 , 47.83 , 40.22 ,
35  6 33.67 , 30.28 , 31.78 , 33.02 ,
36  7 33.83 , 32.39 , 30.14 , 29.71 ,
37  8 28.31 , 26.60 , 26.21 , 24.86 ,
38  9 23.58 , 22.69 , 21.94 , 21.21 ,
39  a 20.91 , 20.61 , 20.22 , 20.22 ,
40  b 20.32 , 20.71 , 21.01 , 21.73
41  * /
42 
43  save
44  if(p .gt. pnorm) then
45  xs = csigmat('K-', 'p', p)
46  elseif( p .gt. 0.2) then
47 ! call kpolintplogxyFE(px, 1, mb, 1, np, m, 3, p, xs, error)
48  call kpolintpfe(px, 1, mb, 1, np, m, p, xs, error)
49  else
50  call ckmpelaxs(p, xs)
51  endif
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
nodes i
real(8) function, public csigmat(a, b, p)
Definition: cpdgXs.f:31
! 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 ckmpelaxs(p, xs)
Definition: ckmpTotXs.f:55
block data include Zlatfit h c fitting region data data data data data d0 data data d0 data data m
Definition: ZlatfitBD.h:35
subroutine kpolintpfe(xa, xstep, ya, ystep, nt, m, x, y, error)
Definition: kpolintp.f:134
real(4), save a
Definition: cNRLAtmos.f:20
real(4), save b
Definition: cNRLAtmos.f:21
Definition: cpdgXs.f:1
Here is the call graph for this function:
Here is the caller graph for this function: