pro plot_eit_flux, filein=filein, ccd_gain=ccd_gain, $
open=open, ccd=ccd, entrance, $
noverbose=noverbose, linear=linear, $
hc=hc, noprint=noprint, qstop=qstop
;+
;NAME:
; plot_eit_flux
;PURPOSE
; Plot the EIT response curves
;CALLING SEQUENCE:
; plot_eit_flux
; plot_eit_flux, /hc ; To make hardcopy
;INPUTS:
; None.
;OPTIONAL INPUT KEYWORDS:
; /open - Set to plot the Filter wheel Open case
; /entrance - Set to plot the Filter wheel entrance-like case
; /ccd - Set to plot the Filter wheel CCD-like case
; (if none of these are specified, all will be plotted).
; ccd_gain - The assumed CCD_gain in e-/DN
; /noverbose - If set, suppress informational messages.
; /hc - If set, send plot to PostScript printer
; filein - To specify explicitly the ere*genx file
; containing the EIT response curves.
;OUTPUTS:
; None.
;CALLS:
; EIT_FLUX to read the response file.
;HISTORY:
; 12-jun-95, J. R. Lemen (LPARL), Written.
; test version -- just reads the ere*genx file directly.
;-
if n_elements(ccd_gain) eq 0 then ccd_gain = 18. ; e-/DN
if not keyword_set(noverbose) then $
message,string('CCD gain = ',ccd_gain,' e-/DN',form='(a,f5.1,a)'),/info
LogTe = 4.5 + findgen(51)*0.05
sectors = gt_eitsector(indgen(4),/short)
jj = sort(fix(sectors))
xtitle = 'Log Temperature (K)'
ytitle = 'DN/s'
ymax = [1.e3,1.e3,10.,100.]
ymin = 10.^(alog10(ymax)-4)
xlab_pos = [.05,.05,.05,.05]
ylab_pos = [.87,.87,.87,.87]
;--------------------------------------------------
;-----Temporary Code: Should really call eit_flux
if n_elements(filein) eq 0 then begin
ddir = 'SSW_EIT_RESPONSE'
filein = concat_dir(ddir,'ere*.genx')
file = findfile(filein,count=count)
if count eq 0 then begin
on_error,2 ; Return to Main
message,string('Could not find file: ',filein,format='(2a)')
endif
file = file(n_elements(file)-1)
break_file, file, disk, dir, name, ext, ver
filein = concat_dir(ddir, name+ext+ver, /notrans)
endif else file = filein
restgen,file=file,str=a ; Read the ere*.genx file
;-----End of temporary code
;--------------------------------------------------
if keyword_set(hc) then set_plot,'PS'
if !d.name eq 'PS' then begin
device,/land,/inch,xsize=9.,ysize=6.5,xoff=1.,yoff=11-1.
!x.thick=3 & !y.thick=3 & !p.thick=3 & !p.charthick=3.6
font = 0
endif else font = -1
!p.multi = [0,2,2]
if not keyword_set(noverbose) then begin
tbeep,2
print,'- Note: Thermal model does not include He II 304 A line'
endif
kk=keyword_set(open)+keyword_set(entrance)+keyword_set(ccd)
if kk eq 0 then $
filters = [2,0,1] else $ ; Do all filters
filters = [3*keyword_set(open), 1*keyword_set(entrance), 2*keyword_set(ccd)]-1
filters = filters(where(filters ge 0,kk))
if not keyword_set(noverbose) then begin
print,'- Will plot the following filters: '
print,'- ',gt_eitfilter(filters,/str),format="(4(2x,a))"
endif
for i=0,3 do begin
for k=0,kk-1 do begin
flux0 = a.elects(*,jj(i),filters(k))/ccd_gain
if k gt 0 then oplot,a.temp,flux0,lines=2*(filters(k)+1) else $
if keyword_set(linear) then $
plot,a.temp,flux0,xtitle=xtitle,chars=1.5,font=font, $
ytitle=ytitle,yr=[ymin(i),ymax(i)],xr=[4,7] else $
plot_io,a.temp,flux0,xtitle=xtitle,chars=1.5,font=font, $
ytitle=ytitle,yr=[ymin(i),ymax(i)],xr=[4,7]
endfor ; k=0,kk-1 ==> loop over filters
; The Plot labels have to be put on by hand:
xx = !x.crange(0)+xlab_pos(i)*(!x.crange(1)-!x.crange(0))
yy = (!y.crange(0)+ylab_pos(i)*(!y.crange(1)-!y.crange(0)))
if not keyword_set(linear) then yy = 10.^yy
xyouts,xx,yy,font=font,align=0,chars=1.3, $
string((['(a)','(b)','(c)','(d)'])(i)+' '+sectors(jj(i))+' A')
endfor ; i=0,3 ==> loop over sectors
if !d.name eq 'PS' then begin
xyouts,.5,1.,/norm,'EIT Response for EM=10!u44!n cm!u-3!n',font=font,align=.5,chars=1.5
if not keyword_set(notime) then begin
text = string('Plot done at: ',!stime,format='(2a)')
if n_elements(filein) ne 0 then $
text = text+string(' File: ',filein,format='(2a)') else $
text = text+string(' Version: ',a.Version, format='(2a)')
xyouts,0.5,-0.05,/norm,alig=.5,text
endif
pprint,noprint=noprint,/reset
endif
clearplot & !x.thick=0 & !y.thick=0 & !p.thick=0 & !p.charthick=0
if keyword_set(qstop) then stop
end
Last revised: - Wed May 9 21:45:09 2007- F. Auchère