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