### Fit Function: HEXC2

 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
subroutine hexc2(pe, pcf, kncf, pxs, kermsg)
c
c     this is a subroutine to calculate cross sections (cm[2])
c     versus projectile energy (ev) for heavy particle collisions.
c
c     pe = collision energy in kev/amu
c
c     pcf(1-10) = parameters for fit to the cross section
c
c     kermsg = blank if no errors
c
c     pxs = cross section in 10e-16 cm[2]
c------------------------------------------------------------------------
c
double precision pe, pcf, pxs
double precision e, a1, a2, a3, a4, a5, a6, arg1, arg2, arg3
double precision a7, a8, a9, a10, c1, c2, c3, dexpr, zero, one
c
dimension pcf(10)
character*(*) kermsg
data dexpr/7.00d+02/
data zero/0.00d+00/
data one/1.00d+00/
c
c     generate e, the energy in kev
c
e = pe
a1= pcf(1)
a2= pcf(2)
a3= pcf(3)
a4= pcf(4)
a5= pcf(5)
a6= pcf(6)
a7= pcf(7)
a8= pcf(8)
a9= pcf(9)
a10= pcf(10)
arg1=-a2/e
c1=zero
if (dabs(arg1) .lt. dexpr) c1=dexp(arg1) * dlog(one+(a3*e))/e
c
arg2=-a5*e
c2=zero
if (dabs(arg2) .lt. dexpr) c2=a4*dexp(arg2)/(e**a6)
c
arg3=-a8/e
c3=zero
if (dabs(arg3) .lt. dexpr) c3= a7*dexp(arg3)/
1   (one + a9*(e**a10))
c
pxs=a1*(c1 + c2 + c3)
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