pro plot_eit_filters,Item,qtest=qtest, $ filein=filein,notime=notime,hc=hc,noprint=noprint ;+ ; NAME: ; plot_eit_filters ; PURPOSE: ; Plot the transmissions of the EIT filters ; CALLING SEQUENCE: ; plot_eit_filters ; plot_eit_filters,filters ; filters is a data structure ; INPUTS: ; None are required. ; OPTIONAL INPUT/OUTPUT: ; filters - Data structure written to era*genx ; If filters is undefined, plot_eit_filters ; will read the era*genx file to obtain filters. ; filein - By default, the EIT effective area file is read: ; concat_dir('SSW_EIT_RESPONSE','era*.genx') ; Use filein='your_file_name' to override the default. ; OPTIONAL INPUT KEYWORDS: ; /notime - If set, don't put the time on the PostScript plot. ; /hc - If set, send to the PostScript printer ; /noprint - If /hc and /noprint are set, create but don't print ; PostScript file. ; MODIFICATION HISTORY: ; 10-Jun-95, J. R. Lemen (LPARL), Written. ;- ; ------------------------------------------------------ ; Call eit_eff_area to read the EIT effective area file: ; ------------------------------------------------------ if n_elements(Item) eq 0 then $ dum = eit_eff_area(0,filein=filein,area_str=Item) ; Read the era*genx file ; Allow input item to be either the entire data structure from era*.genx file ; or just Item.filter tag_pos = tag_index(Item, 'filter') if tag_pos ne -1 then filters = item.(tag_pos) else filters = Item wave0 = filters(0).wave trans0= filters(0).trans wave1 = filters(1).wave trans1= filters(1).trans if min(wave0-wave1,max=mm) ne 0 or mm ne 0 then begin on_error,0 ; Stop in the routine message,'Some problem with the wavelength scales' endif if filters(0).name ne 'Entrance' or filters(1).name ne 'CCD' then begin print,'The FILTERS data is not defined as expected. ' print,'Please check the following:' help,filters(0),filters(1),/str stop endif xtitle= 'Wavelength (A)' ytitle= 'Transmission Fraction' title = 'EIT Filter Transmissions' xytitle = ['Open (Entrance+Fixed)','Entrance','CCD'] ;*** This is hard-coded if keyword_set(hc) then begin set_plot,'ps' device,/land,/inch,xsize=7.5,ysize=6.,xoff=1.25,yoff=11.-(11.-7.5)/2. !x.thick=3 & !y.thick=3 & !p.thick=3 & !p.charthick=3.6 font = 0 endif else begin set_plot,'x' & font = -1 endelse plot_oo,wave0,trans0*trans1,xtitle=xtitle,ytitle=ytitle,title=title, $ chars=1.5,line=0,font=font,thick=2 oplot,wave0,trans0*trans1*filters(2).trans,line=2,thick=2 oplot,wave0,trans0*trans1*filters(3).trans,line=4,thick=2 xx = [1.5,3] yy = !y.crange(0) + 0.1*(!y.crange(1)-!y.crange(0)) + $ indgen(4)*0.05*(!y.crange(1)-!y.crange(0)) yy = reverse(10.^yy) for i=0,2 do begin plots,xx,yy(i+1)*[1,1],line=i*2,thick=2 xyouts,xx(1)+1,yy(i+1),xytitle(i),chars=1.3,font=font endfor xyouts,xx(1)+1,1.1*yy(0),'Filter Wheel:',chars=1.3,font=font if !d.name eq 'PS' then begin 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: ',filters(0).Version, format='(2a)') xyouts,0.5,-0.05,/norm,alig=.5,text endif pprint,/reset,noprint=noprint font = -1 endif clearplot & !x.thick=0 & !y.thick=0 & !p.thick=0 & !p.charthick=0 if keyword_set(qtest) then stop end
Last revised: - Wed May 9 21:45:08 2007- F. Auchère