COSMOS v7.655  COSMOSv7655
(AirShowerMC)
cmBremF1.f
Go to the documentation of this file.
1 ! compute (1-v)/v K1(2zeta) which is the first term of
2 ! F in Brainerd and Petrosian's Eq(5). v is fractional energy
3 ! of emitted gamma ray.
4 !
5  real*8 function cmbremf1(up, v)
6  implicit none
7  real*8 up ! input. upsilon
8  real*8 v ! input. faractional energy.
9  real*8 zeta2, cmBremF11
10 
11  zeta2 = v/(1.0d0-v) /3.0d0/up * 2.0d0
12  cmbremf1 = (1.0d0-v)/v * cmbremf11(zeta2)
13  end
14 ! test cmBremF11
15 ! program testcmBremF11
16 ! implicit none
17 !
18 ! real*8 x, y, cmBremF11
19 !
20 ! x = 0.0001
21 ! do while (x .lt. 30.)
22 ! y = cmBremF11(x)
23 ! write(*, *) sngl(x), sngl(y)
24 ! x = x * 10.**0.025
25 ! enddo
26 ! end
27 ! ************************************************************************
28 ! This is an approximaiton of bremExact.f by polynomial of degree 13
29 ! Eq. 2.9 of Erber ; i.e., k(z)=z Inte(z,inf)dxK5/3(x).
30 ! At least 5 digit accuracy at 0.001 < z < 10.
31 ! At z < 0.001 or z> 10, assmptotic expansion is used.
32 ! There is some small gap at z=10. Don't worry.
33 ! ************************************************************************
34 !
35  real*8 function cmbremf11(z)
36  implicit none
37  real*8 z
38  integer pol
39  parameter(pol = 13)
40  real*8 coef(pol + 1)
41  real*8 x, y
42  integer i
43  data coef/
44  * -0.4285957, -0.6851291, -0.4785896, -0.1615990, -0.4218448e-01,
45  * -0.8632375e-02, -0.1389391e-02, -0.1832289e-03,
46  * -0.2284316e-04, -0.3119965e-05,
47  * -0.4083642e-06, -0.3924065e-07, -0.2244432e-08, -0.5629939e-10/
48  save coef
49 !
50  if(z .lt. 0.001) then
51  cmbremf11 = 2.1495 * z**0.3333333333 - 1.8138* z
52  elseif(z .gt. 10.) then
53  cmbremf11 = 1.2533 * sqrt(z) * exp(-z)
54  else
55  y = coef(pol + 1)
56  x = log(z)
57  do i = pol, 1, -1
58  y = y * x + coef(i)
59  enddo
60  cmbremf11 = exp(y)
61  endif
62  end
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 cmbremf11(z)
Definition: cmBremF1.f:36
block data cblkEvhnp ! currently usable models data RegMdls ad *special data *Cekaon d0
Definition: cblkEvhnp.h:5
real *8 function cmbremf1(up, v)
Definition: cmBremF1.f:6