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

Go to the source code of this file.

Functions/Subroutines

real *8 function cmbremi2 (u)
 

Function/Subroutine Documentation

◆ cmbremi2()

real*8 function cmbremi2 ( real*8  u)

Definition at line 12 of file cmBremI2.f.

References d, and e.

12 ! This program give approximate integral value of
13 ! v^2 2zeta K(2zeta) dv from v = 0 to 1.
14 ! Original integaral is done by inteSpec1.f and
15 ! result was approximated by polynomials.
16 !
17  implicit none
18  real*8 u ! input. Upsilon
19 ! function value ! output. integral value
20 
21  real*8 lu, ans
22  if(u .lt. 3.16d-5) then
23 ! ans = ans * u**2 * 3.9257
24  ans = u**2 * 3.9257 ! 2012.Feb.4
25  elseif(u .lt. 1.584d-2) then
26  lu = log(u)
27  ans = ((-0.5219002e-02 *lu - 0.1067265)* lu
28  * -0.7421499 )*lu -0.7647935
29  ans = ans * u**2 * 3.9257
30  elseif(u .lt. 1.) then
31  lu = log(u)
32  ans = ((0.1696074e-01*lu + 0.1197285)*lu
33  * + 0.1439367e-01)*lu + 0.5595450e-01
34  ans = ans * u**2 * 3.9257
35  elseif(u .lt. 300.) then
36  lu = log(u)
37 
38  ans = (( 0.2566103e-02*lu -0.3215703e-01 )*lu
39  * + 0.9286942e-01)*lu + 0.1500733
40 
41  else
42  stop 55555
43  endif
44  cmbremi2 = ans
dE dx *! Nuc Int sampling table e
Definition: cblkMuInt.h:130
atmos%rho(atmos%nodes) **exp(-(z-atmos%z(atmos%nodes))/Hinf) elseif(z .lt. atmos%z(1)) then ans=atmos%rho(1) **exp((atmos%z(1) -z)/atmos%H(1)) else call kdwhereis(z, atmos%nodes, atmos%z, 1, i) a=atmos%a(i) if(a .ne. 0.d0) then ans=atmos%rho(i) **(1+a *(z-atmos%z(i))/atmos%H(i)) **(-1.0d0-1.d0/a) else ans=*atmos%rho(i) *exp(-(z-atmos%z(i))/atmos%H(i)) endif endif ! zsave=z ! endif cvh2den=ans end ! ---------------------------------- real *8 function cvh2temp(z) implicit none ! vettical height to temperatur(Kelvin) real *8 z ! input. vertical height in m ! output is temperature of the atmospher in Kelvin real *8 ans integer i if(z .gt. atmos%z(atmos%nodes)) then ans=atmos%T(atmos%nodes) elseif(z .lt. atmos%z(1)) then ans=atmos%T(1)+atmos%b(1) *(z - atmos%z(1)) else call kdwhereis(z, atmos%nodes, atmos%z, 1, i) ans=atmos%T(i)+atmos%b(i) *(z-atmos%z(i)) endif cvh2temp=ans end !--------------------------------------------- real *8 function cthick2h(t) implicit none real *8 t ! input. air thickness in kg/m^2 real *8 logt, ans integer i real *8 dod0, fd, a logt=log(t) if(t .ge. atmos%cumd(1)) then ans=atmos%z(1) - *(logt - atmos%logcumd(1)) *atmos%H(1) elseif(t .le. atmos%cumd(atmos%nodes)) then ans=atmos%z(atmos%nodes) - *Hinf *log(t/atmos%cumd(atmos%nodes)) else call kdwhereis(t, atmos%nodes, atmos%cumd, 1, i) ! i is such that X(i) > x >=x(i+1) ans
dE dx *! Nuc Int sampling table d
Definition: cblkMuInt.h:130
real *8 function cmbremi2(u)
Definition: cmBremI2.f:12