Code |
c
c
c###################################################################
c
subroutine hexc5(pe, pcf, kncf, pxs, kermsg)
c
c this is a subroutine to calculate cross sections (cm[2])
c versus proton energy (ev).
c
c pe = collision energy in kev/amu
c
c pcf(1) = lower limit of the validity of the analytic fit.
c pcf(2-8) = parameters for the analytic function.
c
c kermsg = blank if no errors
c
c pxs = cross section in 10e-16 cm[2]
c
c------------------------------------------------------------------------
c
double precision pe, pcf, pxs
double precision a1, a2, a3, a4, a5, a6, b1, n, m
double precision arg1, arg2, zero, c1, c2, dexpr, e, one
c
dimension pcf(9)
character*(*) kermsg
data dexpr/7.00d+02/
data zero/0.00d+00/
data one/1.00d+00/
c
e = pe
b1= pcf(2)
a1= pcf(3)
a2= pcf(4)
a3= pcf(5)
a4= pcf(6)
a5= pcf(7)
a6= pcf(8)
c
arg1=-a2/e
c1=zero
if (dabs(arg1) .lt. dexpr) c1=dexp(arg1) * dlog(one+(a3*e))/e
arg2=-a5*e
c2=zero
if (dabs(arg2) .lt. dexpr) c2=a4*dexp(arg2)/(e**a6)
pxs = a1 * b1 * ( c1 + c2)
c
return
end |