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