COSMOS v7.655  COSMOSv7655
(AirShowerMC)
cmPairMFP.f
Go to the documentation of this file.
1 ! get mean free path of magnetic pair creation.
2 ! Integration of Eq. (16) of Baring
3  real*8 function cmpairmfp(eg, xai)
4  implicit none
5 #include "Zglobalc.h"
6 
7  real*8 eg ! input. gamma energy in GeV
8  real*8 xai ! input. xai value = Eg/m * H/Hc/2
9 
10  real*8 alpha, cmPairInt1
11  real*8 const
12  parameter(const = 3. * 1.73205 * 3.1415 )
13 
14 ! SyncConvR is in GeV/m
15  alpha = cmpairint1(xai)* syncconvr/ eg /const
16  cmpairmfp = 1./alpha
17  end
18 ! implicit none
19 ! real*8 xai, cmPairInt1, norm
20 !
21 ! xai = .01
22 ! do while (xai .lt. 1000.)
23 ! if(xai .lt. 4.) then
24 ! norm = 7.497 * xai * exp(-4./3./xai)
25 ! else
26 ! norm = xai**0.6666
27 ! endif
28 ! write(*,*) sngl(xai), sngl(cmPairInt1(xai)/norm)
29 ! xai = xai *10.**.1
30 ! enddo
31 ! end
32  real*8 function cmpairint1(xai)
33  implicit none
34 ! compute the integral part of Eq. (16) of Baring; Mon. Not. R.
35 ! astr.Soc. (1988) 235., i,e.
36 ! inte(0,1) dv (9-v**2)/(1-v**2)K23(y).
37 ! The numerical integration has been done by inteSpecPair.f
38 ! and the result is normalized as follows
39 !
40 ! For xai < 4: log(xai) vs ans/(7.497xai*exp(-4/3/xai)) is approximated by
41 ! a polynomial
42 ! for xai > 4: log(xai) vs ans/ xai**0.6666 is approximated by
43 ! a polynomial.
44 !
45  real*8 xai
46 !
47  real*8 ans, lxai
48 !
49  if(xai .lt. .01) then
50  ans =7.497*xai*exp(-4./3./xai)
51  elseif(xai .lt. 4.0) then
52  lxai = log(xai)
53  ans =(( -0.7211221e-03*lxai -0.1692442e-01)* lxai
54  * -0.9929865e-01 )*lxai + 0.8214562
55  ans = 7.497*xai* exp(-4./3./xai)* ans
56  elseif(xai .lt. 5000.) then
57  lxai = log(xai)
58 
59  ans = (((( 0.2210200e-03*lxai -0.8950944e-02)*lxai
60  * + 0.1461679 )*lxai -1.218747)*lxai +5.274929)*lxai
61  * + 0.1683762
62  ans = ans * xai**0.66666
63  else
64  ans = 9.8*xai**0.66666
65  endif
66  cmpairint1 = ans
67  end
68 
69 
70 
71 
72 
73 
74 
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
real *8 function cmpairint1(xai)
Definition: cmPairMFP.f:33
real *8 function cmpairmfp(eg, xai)
Definition: cmPairMFP.f:4