SUBROUTINE xsgabs(ear, ne, param, ifl, photar, photer)
IMPLICIT NONE
INTEGER ne, ifl
REAL ear(0:ne), param(3), photar(ne), photer(ne)
C---
C XSPEC model subroutine
C Gaussian absorption line
C---
C see ADDMOD for parameter descriptions
C number of model parameters:3
C 1 EL line energy (in energy units, e.g. keV)
C 2 W line width (sigma) (in energy units)
C 3 Tau line optical depth
C intrinsic energy range: none
C algorithm:
C M(E) = exp(-(tau/sqrt(2*PI)/W) * exp(-0.5*((E-EL)/W)**2)))
C If W is less than or equal to zero, the line is treated as a delta
C function.
C N.B. when the energy spacing is much greater than W and the stepsize
C for EL then the partial derivative determinations can lead
C to fit error conditions. The solution is to increase the
C stepsize for EL
C---
REAL PI
PARAMETER (PI=3.14159265)
REAL dele
INTEGER i
C Call the additive Gaussian model routine with the first two parameters
CALL xsgaul(ear, ne, param, ifl, photar, photer)
C Correct to the average value of the gaussian for the energy bin, Multiply by
c the optical depth and take the exponential
DO i = 1, ne
dele = ear(i) - ear(i-1)
IF ( dele .NE. 0 ) photar(i) = photar(i) / dele
photar(i) = -param(3) * photar(i)
photar(i) = exp(photar(i))
ENDDO
RETURN
END