COSMOS v7.655  COSMOSv7655
(AirShowerMC)
cpairLPMXsec.f
Go to the documentation of this file.
1 ! test cpairLPMXsec
2 ! implicit none
3 ! integer j, i
4 ! real*8 rho, e, xs
5 ! do j=1, 11
6 ! rho=1. * 10.**(-(j-1)/2.)
7 ! do i=1, 14
8 ! e=1.e8 * 10.**( (i-1)/3.0)
9 ! call cpairLPMXsec(e, rho, xs)
10 ! write(*, *) sngl(e), sngl(xs)
11 ! enddo
12 ! write(*, *)
13 ! enddo
14 ! end
15  subroutine cpairlpmxsec(eg, rhoin, xs)
16  implicit none
17 ! compute pair creation probability of very high energy
18 ! gamma rays in air. Landau effect is taken into account
19 ! eg. input. gamma energy in gev. 5.e8 < eg < 1.e13
20 ! rhoin.input. air density in kg/m**3
21 ! xs. output. probability /r.l
22 !
23 ! input outside of this range will be accepted
24 ! properly.
25 !
26 !
27  real*8 eg, rhoin, xs
28 !
29 ! Since the probability of pair creation f(v, Eg, rho)dv
30 ! (v = Ee/Eg) scales as f(v, Eg*rho)dv,
31 ! we made an approximate formula for f(v, x)dv for x
32 ! =1 to 10^10 GeV*gm/cm3
33 !
34  real*8 x, xlog
35  integer i
36  real*8 xxx(6)
37  data ( xxx(i), i= 1, 6)/
38  1 59.363582 , -19.567178 , 2.4813214 ,
39  2 -0.15128851 , 0.44302046e-02, -0.50465366e-04
40  * /
41 
42  x = eg* rhoin * 1.e-3 ! GeV g/cm3
43  if(x .lt. 1.e5) then
44  xs = 0.777
45  elseif(x .lt. 1.e10) then
46  xlog = log(x)
47  xs = 0.
48  do i =6, 2, -1
49  xs =(xs + xxx(i))* xlog
50  enddo
51  xs = xs + xxx(1)
52  xs = exp(xs)
53  else
54  xs = 2.12e-2 * (x/1.e10)**(-0.5)
55  endif
56 
57  end
dE dx *! Nuc Int sampling table e
Definition: cblkMuInt.h:130
subroutine cpairlpmxsec(eg, rhoin, xs)
Definition: cpairLPMXsec.f:16
*************************block data cblkTracking *************************implicit none data *ExactThick *Freec *RatioToE0 *MagChgDist *TimeStructure *Truncn *Truncx data *IncMuonPolari *KEminObs *ThinSampling *EthinRatio *Generate *LpmEffect *MagPairEmin e10
Definition: cblkTracking.h:9