EIT Software Listings

 

anal
obsolete
response
util

 

Previous Routine
Next Routine

 

Listing of $SSW/soho/eit/idl/obsolete/plot_eit_area.pro

 


pro plot_eit_area, area, filein=filein, 		$
	open=open, ccd=ccd, entrance=entrance, one=one,	$
	linear=linear, psym=psym, qtest=qtest, 		$
	noverbose=noverbose,				$
	qstop=qstop, hc=hc, noprint=noprint
;+
;NAME: 
;   plot_eit_area
;PURPOSE:
;   Plot the EIT effective area vs wavelength
;CALLING SEQUENCE:
;  plot_eit_area		; Will read the era*genx file
;  plot_eit_area, area		; area = data structure (in/out)
;  plot_eit_area,/hc		; For PostScript output
;  plot_eit_area,/one		; On one wavelength scale
;
;  plot_eit_area will produce a four panel plot (unless the /one)
;  option is specified.  Use the /open, /entrance, /ccd switches
;  to specify which filter wheel case to use (default = /open)
;INPUTS:
;  None are required.
;OPTIONAL INPUT/OUTPUT:
;  area		- Data structure from era*.genx
;		  If area is undefined, will be read from the
;		  era*genx file.
;  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:
;  /one		- If set, put all four sectors on one graph.
;  /linear	- If set, plot the ordinance on a linear scale (def. is log)
;
;  /open	- If set, plot the open filterwheel case
;  /entrance	- If set, plot the entrance filterwheel case
;  /ccd		- If set, plot the ccd filterwheel case
;  (None)	- If open, entrance and ccd area all 0, plot all cases.
;
;  /notime	- If set, don't put the time on the PostScript plot.
;  /hc		- If set, send to the PostScript printer
;  /noprint	- If both /hc and /noprint are set, create PostScript file 
;		  but do not print it.
;HISTORY:
;  12-Jun-95, J. R. Lemen (LPARL), Written.
;-

if n_elements(psym) eq 0  then ppsym = 0 else ppsym = psym

title='EIT Effective Area'
xtitle='Wavelength (A)'
ytitle='Effective Area (cm!U2!N)'
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

xrange = [0,0]
if n_elements(yrange) ne 0 then yran = yrange else yran   = [0,0]
xlab_pos = [.95,.95,.95,.95]
ylab_pos = [.9 ,.1 ,.9 ,.9 ]
ylab_pos = [.9 ,.9 ,.9 ,.9 ]
align    = [1.,1.,1.,1.]

sectors = gt_eitsector(indgen(4),/short)
jj = sort(fix(sectors))

if keyword_set(one) then begin
  clearplot
  area0 = eit_eff_area(area=area,jj(0),waveo=waveo,filter=filters,filein=filein)
  plot_oo,waveo,area0,xr=[100,1000],yr=[1.e-6,1.],$
		title=title,xtitle=xtitle,ytitle=ytitle

  for i=1,3 do oplot,waveo,eit_eff_area(area=area,jj(i),filter=filters,filein=filein)
endif else begin
  !p.multi = [0,2,2]

  qopen = keyword_set(open)
  kk = keyword_set(qopen)+keyword_set(entrance)+keyword_set(ccd)	; Get the cases to plot
  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

;   Get the witness mirror data to establish wavelength scales:
    eit_witness,fix(sectors(jj(i))),ww0,rr0

    wmin = min(ww0) & wmax = max(ww0)    ; Range witness measurements
    if keyword_set(extend_range) then xrange = [wmin-50,wmax+50] $
				 else xrange = [wmin, wmax]

    if keyword_set(qtest) then wave1 = wmin+5+indgen(wmax-wmin+1-10)
    for k=0,kk-1 do begin		; Over plot the different filters
      area0 = eit_eff_area(area=area,jj(i),wave1,waveo=waveo,filter=filters(k),filein=filein)
      if keyword_set(qtest) then wave0 = wave1
      if k gt 0 then oplot,waveo,area0,lines=2*(filters(k)+1) else				$
      if keyword_set(linear) then 					$
        plot,waveo,area0,xtit=xtitle,xstyle=2,		 		$
                xr=xrange,yr=yran,font=font,ytit=ytitle,psym=ppsym else	$
        plot_io,waveo,area0,xtit=xtitle,xstyle=2, 		$
                xr=xrange,yr=yran,font=font,ytit=ytitle,psym=ppsym
    endfor				; k=0,kk-1


; 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=align(i),     $
                string((['(a)','(b)','(c)','(d)'])(i)+' '+sectors(jj(i))+' A')
     xyouts,.5,1.,/norm,'EIT Effective Area',font=font,align=.5,chars=1.5

  endfor
endelse

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: ',area.area.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


Web curator: Frédéric Auchère
Responsible NASA official: Joseph B. Gurman, Facility Scientist, Solar Data Analysis Center
joseph.b.gurman@gsfc.nasa.gov
+1 301 286-4767
NASA Goddard Space Flight Center
Solar Physics Branch / Code 682

Last revised: - Wed May 9 21:45:08 2007- F. Auchère