function sxt_erg_per_dn,Te,filter,date=date,short,long
;+
; NAME:
;  sxt_erg_per_dn
;
; PURPOSE:
;  Compute a table of erg/DN for a given SXT filter and wavelength band.
;
; CALLING SEQUENCE:
;  erg_dn = sxt_erg_per_dn(Te,filter,date=date,short,long)
;  erg_dn = sxt_erg_per_dn(Te,2,20,100)
;  erg_dn = sxt_erg_per_dn(Te,filter,date='1-dec-92')  ; entrance filter changed
;
; INPUTS:
;  filter = SXT analysis filter number (can be a vector)
;	  1   Open       Op
;	  2   Al.1       A1
;	  3   AlMg       AM
;	  4   Be119      Be
;	  5   Al12       A2
;	  6   Mg3        Mg
;  Te = alog10(temperature)	Can be a vector
;
; ===========================================================================
; For example, the calling arguments might look like the following:
;
; IDL> Te = 5.5 + findgen(26)*.1 & pmm,te ; Generate a Temp vector 5.5 to 8.0
; IDL> out = sxt_erg_per_dn(Te,indgen(6)+1)       ; Compute for all filters
; IDL> help,Te,out
; TE              FLOAT     = Array(26)
; OUT             FLOAT     = Array(26, 6)
; ===========================================================================
;
; OPTIONAL INPUT:
;       short = short wavelength (Angstrom), default = 1
;       long  = long wavelength (Angstsrom), default = 300
;
; OPTIONAL INPUT KEYWORDS:
;   date = 'date' in the standard format to account for change
;	in entrance filter transmission in November 1992.
;
; OUTPUTS:
;	Returns the alog10(erg/DN) for specified filters
;
; RESTRICTIONS:
;  If the dates of interest span the time of 17-nov-92, then separate
;  calls must be made for data before and after this date.
;
;  Te must be in the range 5.50 to 8.00
;
;  Short must be 1 or greater and integral.
;  Long must be 300 or smaller and ingegral.
;
; MODIFICATION HISTORY:
;   23-jul-93, L. Acton, Written.
;   27-jul-93, J. Lemen, Renamed to sxt_erg_per_dn.  Vectorized for speed.
;   31-jul-93, JRL, Added noverbose in call to sxt_flux
;   18-nov-93, JRL, Made the /noverbose switch in sxt_flux call explicit.
;   30-jul-94, LWA, Added capability to compute flux for spectral bands.
;-

if n_elements(Te) eq 0 then begin
  doc_library,'sxt_erg_per_dn'
  return,-1
endif

;wave=findgen(300)+1.                           ; Assume 1 Ang bins

if n_elements(short) eq 0 then short = 1.       ; Set short wavelength.
if n_elements(long) eq 0 then long = 300.       ; Set long wavelength..
wave=findgen((long+1)-short)+short              ; Wavelength range, 1 A bins.
pmm,wave

flux=mewe_spec(10^(Te-6),wave,/erg)		; Compute the spectrum
ergs = alog10(total(flux,(size(flux))(0)))	; If only 1 Te, mewe_spec returns a 1-d vector

out = fltarr(n_elements(ergs),n_elements(filter))

for i=0,n_elements(filter)-1 do begin		; Loop over filters
  em=sxt_flux(Te,filter(i),dn=1,date=date,/noverbose)	; Compute Emission Measure for one DN
  out(0,i) = ergs+em-44
endfor
return,reform(out)
end

