pro fig_sxt_area, hc=hc, ps=ps, guide=guide, qtest=qtest, xoff1=xoff1, yoff1=yoff1 ; ;+ ; NAME: ; fig_sxt_area ; PURPOSE: ; Generate a plot that looks like Loren's in the Redbook (Fig 2). ; Also generate a 4 panel plot of entrance filter transmission, ; SXT mirror area, CCD QE and combined (Noback) effective area. ; CALLING SEQUENCE: ; fig_sxt_area ; fig_sxt_area,/hc ; Send to printer ; fig_sxt_area,/ps ; Generate a PostScript file ; fig_sxt_area,/guide ; EPS PostScript file for the Guide ; OPTIONAL INPUT KEYWORDS: ; (If /guide or /qtest, the dates are not put on the plots) ; MODIFICATION HISTORY: ; 10-feb-93, J. R. Lemen ; 16-dec-93, JRL, Modified for inclusion in the User guide by adding eps ; switch. In this case, plot 1 will be called idl1.ps ; 16-Dec-93 (MDM) - Renamed /EPS to /GUIDE and other changes ; 21-dec-93, JRL, Fixed the plot labels. Fixed the name in the doc header. ;- if n_elements(xoff1) eq 0. then xoff1 = 1.5 ; Default offset in cm if n_elements(xoff2) eq 0. then xoff2 = 1.5 if n_elements(yoff1) eq 0. then yoff1 = 1.5 ; Offset for second plot if n_elements(yoff2) eq 0. then yoff2 = 4.0 if keyword_set(hc) or keyword_set(guide) or keyword_set(ps) then set_plot,'ps' ans = 'y' ans = strmid(strupcase(ans),0,1) clearplot xtitle = 'WAVELENGTH (A)' ; Get the most recent filename file = findfile('$DIR_SXT_SENSITIVE/sra9*') file = file(n_elements(file)-1) ; Read the data file restgen,file=file,str=area,text=text xpage = 17.0 & ypage = 21.0 ; Plot 1 page size if !d.name eq 'PS' then device,/portrait,xsize=xpage,ysize=ypage, $ xoffset=xoff1,yoffset=yoff1 ; if (keyword_set(guide)) then device, /encapsulated, file='fig_sxt_area2.idlps' ;6 panel plot ; First panel ;titles = ['Open','Al.1','AlMgMn','Mg3','Al12','Be119'] titles = gt_filtb([1,2,3,6,5,4],/str) ytitle = 'LOG EFFECTIVE AREA (cm!U2!N)' charsize0= 1. ; Axis labels charsize = 1.3 ; Xyout labels if !d.name eq 'PS' then font=0 else font=-1 ; ----------------------------------------------------------------------------- ; These parameters set the position of the plot panels (normalized coordinates) xsize=5.695/xpage ; Xsize = 5.695 cm ysize=5.04 /ypage xpos = [1.7,9.35] / xpage ; Position in cm / xpage ypos = [15.162,8.232,1.302] / ypage ; Position in cm / ypage ; ----------------------------------------------------------------------------- !p.position = [xpos(0),ypos(0),xpos(0)+xsize,ypos(0)+ysize] plot_oo,area.wave,area.filter(0,*),ytitle=ytitle,xtitle=xtitle, $ xrange=[1,70],yrange=[.001,1],thick=4., $ charsize=charsize0,font=font, $ xthick=2,ythick=2 xxc= 20 yy = .85 yyc= 10.^(!y.crange(0) + yy * (!y.crange(1)-!y.crange(0))) xyouts,xxc,yyc,titles(0),size=charsize,/data,font=font ytitle = 'EFFECTIVE AREA (cm!U2!N)' for i=1,5 do begin !p.position = [xpos(i/3),ypos(i mod 3),xpos(i/3)+xsize,ypos(i mod 3)+ysize] plot_oi,area.wave,area.filter(0,*),ytitle=ytitle,xtitle=xtitle, $ xrange=[1,70],yrange=[.0,.8],thick=2., $ charsize=charsize0,font=font, $ xthick=2,ythick=2,/noerase yyy = area.filter(i,*) & ii = where(yyy lt 1.e-32,npts) if npts gt 0 then yyy(ii) = 0 ; eliminate underflow messages oplot,area.wave,yyy,thick=4. yyc = !y.crange(0)+yy*(!y.crange(1)-!y.crange(0)) xyouts,xxc,yyc,titles(i),size=charsize,/data,font=font endfor if not keyword_set(guide) and not keyword_set(qtest) then begin break_file,file,disk,dir,filnam,ext xyouts,.35,0.,'(Plotted '+!stime+')',charsize=1.,/normal xyouts,.35,.99,'File = '+filnam+ext,charsize=charsize,/normal endif if (not keyword_set(guide)) then pprint if !d.name ne 'PS' then read,'Pause',ans ;---------------------------------- ; Plot the Entrance filter, CCD QE, Mirror area ;---------------------------------- clearplot xpage = 17.0 & ypage = 16.0 ; Plot 1 page size if !d.name eq 'PS' then device,/portrait,xsize=xpage,ysize=ypage, $ xoffset=xoff2,yoffset=yoff2 if (keyword_set(guide)) then device, /encapsulated, file='fig_sxt_area1.idlps' ;4 panel plot !p.charsize = .85 ; This is to get the main title and charsize0 = 1.25*!p.charsize*1.125 ;- and axis labels the same size charsize = 1.2*!p.charsize xxc = 50. ; x-position of labels (/data) ; ----------------------------------------------------------------------------- ; These parameters set the position of the plot panels (normalized coordinates) xsize=5.695/xpage ; Xsize = 5.695 cm ysize=5.04 /ypage xpos = [1.7,9.35] / xpage ; Position in cm / xpage ypos = [9.53,1.3] / ypage ; Place at 9.53 and 1.3 cm ; ----------------------------------------------------------------------------- !p.position = [xpos(0),ypos(0),xpos(0)+xsize,ypos(0)+ysize] plot_oi,area.wave,area.entrance,xtitle=xtitle,ytitle='TRANSMISSION', $ xrange=[2,70],title='DOUBLE ENTRANCE FILTER', $ xthick=2,ythick=2,thick=2, $ xcharsize=charsize0,ycharsize=charsize0,font=font xyouts,xxc,.85*max(!y.crange),'(a)',size=charsize,/data,font=font !p.position = [xpos(0),ypos(1),xpos(0)+xsize,ypos(1)+ysize] plot_oi,area.wave,area.mirror,xtitle=xtitle,ytitle='AREA (cm!U2!N)', $ xrange=[2,70],title='SXT MIRROR AREA', $ xthick=2,ythick=2,thick=2,/noerase, $ xcharsize=charsize0,ycharsize=charsize0,font=font xyouts,xxc,.1*max(!y.crange),'(b)',size=charsize,/data,font=font !p.position = [xpos(1),ypos(0),xpos(1)+xsize,ypos(0)+ysize] plot_oi,area.wave,area.ccd,xtitle=xtitle,ytitle='QE', $ xrange=[2,70],title='CCD QE (FM 44c)', $ xthick=2,ythick=2,thick=2,/noerase, $ xcharsize=charsize0,ycharsize=charsize0,font=font xyouts,xxc,.85*max(!y.crange),'(c)',size=charsize,/data,font=font !p.position = [xpos(1),ypos(1),xpos(1)+xsize,ypos(1)+ysize] plot_oi,area.wave,area.filter(0,*),ytitle='AREA (cm!U2!N)',xtitle=xtitle, $ xrange=[1,70],yrange=[.0,.8], $ title = 'SXT EFF AREA', $ xthick=2,ythick=2,thick=2,/noerase, $ xcharsize=charsize0,ycharsize=charsize0,font=font xyouts,xxc,.85*max(!y.crange),'(d)',size=charsize,/data,font=font if not keyword_set(guide) and not keyword_set(qtest) then $ xyouts,.35,0.,'(Plotted '+!stime+')',charsize=1.,/normal if keyword_set(guide) or keyword_set(ps) then device,/close if not keyword_set(hc) then set_plot,'X if (not keyword_set(guide)) then pprint,/reset end