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 64 of file cpimpTotXs.f.

References a, b, c, cpimptotxs(), cppelaxs(), cpptotxs(), d, false, kpolintpfe(), modpdgxs::m, masp, and parameter().

Referenced by cpimpinelaxs(), cpimptotxs(), and cpipnelaxs().

64  use modpdgxs, mpdg=>m
65 ! pi- p elastic cross section in mb
66  implicit none
67 #include "Zmass.h"
68  real*8 p ! input. momentum of n in GeV
69  real*8 xs ! output np elastic xs. mb.
70 
71  integer np, m, i
72  parameter(np=52, m=5)
73  real*8 px(np), mb(np)
74  real*8 error
75  real*8 xssave/-1./
76  real(8),parameter:: pnorm=100.0
77  real(8),parameter:: sm=(maspic + masp + mpdg)**2
78  real(8),parameter:: smpp=(masp + masp + mpdg)**2
79  real(8),save:: norm
80  real(8):: ppp
81  real(8):: xspel, xspt, xspit
82  real(8),save::xsnorm
83 
84  logical,save:: first = .true.
85 
86  data ( px(i), i= 1 , np )/
87  1 0.1320 , 0.1553 , 0.1731 , 0.1845 ,
88  2 0.2017 , 0.2171 , 0.2280 , 0.2418 ,
89  3 0.2527 , 0.2680 , 0.2871 , 0.3076 ,
90  4 0.3232 , 0.3480 , 0.3785 , 0.4056 ,
91  5 0.4454 , 0.5187 , 0.5611 , 0.6159 ,
92  6 0.6374 , 0.6760 , 0.7242 , 0.7608 ,
93  7 0.7915 , 0.8480 , 0.9085 , 0.9354 ,
94  8 0.9823 , 1.007 , 1.052 , 1.089 ,
95  9 1.128 , 1.221 , 1.354 , 1.531 ,
96  a 1.988 , 2.361 , 2.904 , 3.901 ,
97  b 5.191 , 7.546 , 10.29 , 14.03 ,
98  c 19.51 , 27.40 , 38.66 , 63.24 ,
99  d 100.9 , 170.9 , 263.4 , 366.3
100  * /
101  data ( mb(i), i= 1 , np )/
102  1 21.81 , 17.87 , 15.43 , 13.60 ,
103  2 11.46 , 11.37 , 12.90 , 16.87 ,
104  3 19.70 , 22.07 , 24.94 , 23.46 ,
105  4 19.14 , 15.05 , 11.98 , 10.78 ,
106  5 9.501 , 10.06 , 11.74 , 13.93 ,
107  6 16.12 , 18.75 , 20.09 , 18.44 ,
108  7 16.12 , 14.80 , 14.98 , 19.05 ,
109  8 23.44 , 25.33 , 23.63 , 20.50 ,
110  9 16.38 , 13.70 , 12.27 , 10.47 ,
111  a 8.894 , 8.098 , 7.434 , 6.578 ,
112  b 5.566 , 5.006 , 4.689 , 4.304 ,
113  c 3.871 , 3.626 , 3.467 , 3.301 ,
114  d 3.220 , 3.180 , 3.325 , 3.577
115  * /
116 
117  save
118  if( p .gt. pnorm) then
119  if( first ) then
120  ppp = pnorm
121  call cppelaxs(ppp, xspel)
122  call cpptotxs(ppp, xspt)
123  call cpimptotxs(ppp, xspit)
124  call kpolintpfe(px, 1, mb, 1, np, m,
125  * ppp, xsnorm, error)
126  xs = xspit*xspel/xspt
127  norm = xs - xsnorm
128  first=.false.
129  endif
130  ppp = p
131  call cppelaxs(ppp, xspel)
132  call cpptotxs(ppp, xspt)
133  call cpimptotxs(ppp, xspit)
134  xs = xspit*xspel/xspt
135  xs = xs - norm
136  elseif(p .gt. px(1)) then
137 ! call kpolintplogxyFE(px, 1, mb, 1, np, m, 0, p, xs, error)
138  call kpolintpfe(px, 1, mb, 1, np, m, p, xs, error)
139  else
140 ! get value at 0.1
141  xs = mb(1)
142  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
! 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 cppelaxs(p, xs)
Definition: cppTotXs.f:68
dE dx *! Nuc Int sampling table d
Definition: cblkMuInt.h:130
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
masp
Definition: Zmass.h:5
real(4), save b
Definition: cNRLAtmos.f:21
maspic
Definition: Zmass.h:5
Definition: cpdgXs.f:1
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:
Here is the caller graph for this function:

◆ cpimpinelaxs()

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

Definition at line 145 of file cpimpTotXs.f.

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

Referenced by cinelx0(), cpiminuspxsec(), and cpipninelaxs().

145  implicit none
146  real(8),intent(in)::p
147  real(8),intent(out)::xs
148 
149  real(8)::txs, exs
150  call cpimptotxs(p, txs)
151  call cpimpelaxs(p, exs)
152  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:
Here is the caller graph for this function:

◆ cpimptotxs()

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

Definition at line 3 of file cpimpTotXs.f.

References a, b, c, cpimpelaxs(), modpdgxs::csigmat(), d, e, f, g, h, kpolintpfe(), and parameter().

Referenced by cpimpelaxs(), cpimpinelaxs(), cpipntotxs(), 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=108, m=5)
11  real*8 px(np), mb(np)
12  real(8),parameter:: pnorm = 100.
13 
14  data ( px(i), i= 1 , np )/
15  1 0.158, 0.168, 0.180, 0.193, 0.206, 0.216, 0.225, 0.237,
16  2 0.247, 0.259, 0.264, 0.271, 0.282, 0.293, 0.301, 0.307,
17  3 0.316, 0.328, 0.339, 0.348, 0.360, 0.373, 0.385, 0.396,
18  4 0.411, 0.432, 0.446, 0.461, 0.485, 0.511, 0.539, 0.564,
19  5 0.594, 0.615, 0.625, 0.642, 0.651, 0.672, 0.685, 0.693,
20  6 0.703, 0.734, 0.744, 0.760, 0.766, 0.775, 0.793, 0.808,
21  7 0.817, 0.836, 0.857, 0.873, 0.895, 0.917, 0.951, 0.977,
22  8 0.983, 1.010, 1.028, 1.050, 1.070, 1.095, 1.107, 1.133,
23  9 1.152, 1.194, 1.260, 1.332, 1.386, 1.453, 1.492, 1.557,
24  a 1.640, 1.737, 1.834, 1.942, 2.042, 2.200, 2.302, 2.418,
25  b 2.540, 2.689, 2.836, 3.002, 3.173, 3.409, 3.726, 4.081,
26  c 4.446, 4.754, 5.210, 5.721, 6.372, 6.883,
27  d 8.814 ,
28  e 11.61 , 16.06 , 23.46 , 32.47 ,
29  f 46.73 , 70.64 , 99.20 , 130.0 ,
30  g 175.5 , 218.0 , 284.3 , 401.2 ,
31  h 518.1
32  * /
33  data ( mb(i), i= 1 , np )/
34  1 13.60, 16.34, 19.99, 24.29, 30.30, 36.96, 44.13, 50.01,
35  2 57.84, 63.74, 67.18, 70.42, 71.46, 68.90, 64.93, 62.13,
36  3 57.36, 53.36, 48.12, 44.52, 40.45, 36.29, 33.56, 31.29,
37  4 29.20, 27.18, 26.32, 26.16, 26.63, 27.25, 28.06, 29.45,
38  5 30.84, 32.67, 34.37, 36.91, 39.13, 41.94, 44.22, 46.08,
39  6 47.57, 47.05, 45.75, 44.43, 41.80, 40.05, 38.42, 36.88,
40  7 35.96, 36.28, 37.39, 39.32, 42.16, 45.92, 50.66, 54.82,
41  8 57.46, 59.66, 56.91, 53.99, 50.22, 45.91, 42.98, 40.43,
42  9 38.62, 37.15, 36.16, 36.52, 36.79, 36.16, 35.43, 34.51,
43  a 34.89, 35.23, 35.74, 36.24, 36.11, 35.86, 34.92, 34.33,
44  b 33.70, 32.85, 32.64, 32.87, 32.36, 31.63, 30.92, 30.40,
45  c 29.99, 29.51, 28.83, 28.52, 27.94, 27.77,
46  d 26.89 ,
47  e 26.02 , 25.29 , 24.98 , 24.77 ,
48  f 24.36 , 24.16 , 24.15 , 24.25 ,
49  g 24.34 , 24.64 , 24.74 , 25.14 ,
50  h 25.55
51  * /
52  save
53  if(p .gt. pnorm) then
54  xs = csigmat('pi-', 'p', p)
55  elseif( p .gt. 0.2) then
56 ! call kpolintplogxyFE(px, 1, mb, 1, np, m, 0, p, xs, error)
57  call kpolintpfe(px, 1, mb, 1, np, m, p, xs, error)
58  else
59  call cpimpelaxs(p, xs)
60  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
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
subroutine kpolintpfe(xa, xstep, ya, ystep, nt, m, x, y, error)
Definition: kpolintp.f:134
real(4), save a
Definition: cNRLAtmos.f:20
dE dx *! Nuc Int sampling table g
Definition: cblkMuInt.h:130
real(4), save b
Definition: cNRLAtmos.f:21
Definition: cpdgXs.f:1
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:
Here is the caller graph for this function: