### Fit Function: HEXC5

 Fit Function \begin{align*} \end{align*} Comments

#### Fortran

Arguments
namedescriptionunitstype(s)
pt requested photon energy eV real, dimension(:)
pcf coefficient data array real, dimension(9)
kncf number of coefficients in the data array integer
pfit cross section cm2 real, dimension(:)
kermsg error message character
Return values
namedescriptionunitstype(s)
pfit cross section cm2 real, dimension(:)
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

#### Python

Arguments
namedescriptionunitstype(s)
pt requested photon energy eV float, np.ndarray
pcf coefficient data array float, np.ndarray
kncf number of coefficients in the data array int
pfit cross section cm2 float, np.ndarray
kermsg error message str
Return values
namedescriptionunitstype(s)
pfit cross section cm2 float, np.ndarray
Code