function gt_eitsector, item, header=header, string=string, $ short=short, wave=wave, spaces=spaces ; ;+ ;NAME: ; gt_EITsector ;PURPOSE: ; To extract the EIT sector number optionally return a string mnemonic. ;CALLING SEQUENCE: ; print, gt_EITsector() ;to list the mnemonics ; sectors = gt_EITsector(index) ; sectors = gt_EITsector(roadmap) ; sectors = gt_EITsector(index.eit, /string) ; sectors = gt_EITsector(index, /short) ; sectors = gt_EITsector(indgen(4)) ;used with menu selection ; sectors = gt_EITsector(index.eit, /space) ;put single space before string ; sectors = gt_EITsector(index.eit, space=3) ;put 3 spaces ; sectors = gt_EITsector(index,/wave) ;Same as /short, but return integers ;METHOD: ; The input can be a vector or a scalar. ; The input can be a integer or a structure. ; The structure can be the index, or roadmap, or observing log. ; The integer value corresponding to the EIT definition. To ; check, use print,gt_EITsector() ; ;INPUT: ; item - A integer or structure, which can be scalar or an array. If this ; value is not present, a help summary is printed on the ; wavelength sector names used. ;OPTIONAL INPUT: ; string - If present, return the string mnemonic (long notation) ; short - If present, return the short string mnemonic ; wave - If present, return wavelengths as integers ; spaces - If present, place that many spaces before the output ; string. ;OUTPUT: ; returns - The filter selected, a integer value or a string ; value depending on the switches used. It is a vector ; if the input is a vector ;OPTIONAL OUTPUT: ; header - A string that describes the item that was selected ; to be used in listing headers. ;RESTRICTIONS: ; The /wave keyword overrides /short and /string keywords. ;HISTORY: ; 10-Jun-1995, J. R. Lemen (LPARL), Written ;- ; header_array = ['Sector', 'Band'] ; Long and Short versions conv2str = ['???','Fe XII 195','Fe XV 284','Fe IX 171','He II 304','???'] ;10 characters conv2short = ['???','195', '284', '171', '304','???'] ; 3 Characters ; 0 1 2 3 ; if (n_params(0) eq 0) then begin print, 'String Output for gt_EITsector' for i=0,3 do print, i, conv2str(i+1), conv2short(i+1), format='(i3, 2x, a10, 2x, a6)' return, '' end ; siz = size(item) typ = siz( siz(0)+1 ) if (typ eq 8) then begin ;Check to see if an index was passed or a roadmap or observing ;log entry was passed out = str_tagval(item,'sector',level=level) if (level ne 0) and (level ne 1) then begin on_error,2 ; Return to the caller message,'Invalid Structure type' ; Stop with an error endif endif else begin out = item end ; if keyword_set(wave) then begin conv2short([0,n_elements(conv2short)-1]) = 0 ; Convert ??? to 0's out = fix(conv2short(out+1)) endif else $ out = gt_conv2str(out+1, conv2str, conv2short, header_array, header=header, $ string=string, short=short, spaces=spaces) siz = size(out) typ = siz( siz(0)+1 ) if typ ne 7 then out = out - 1 ; Subtract off the 1 that appears above ; return, out end
Last revised: - Wed May 9 21:45:21 2007- F. Auchère