mex_h_spec_restr_init.pro 2.77 KB
;====================================================
;              VEX_h_spec_init
;                 1.0
;   Init module of "h_spec" object
;   HPSPEC from IMAEXTRA product VEX
;
;              18 Mars 2009
;----------------------------------------------------

pro mex_h_spec_restr_init, ANODE = Anode, STOP_ANODE = Stop_Anode, elevationAsTime = elevationAsTime, $
                     LOG = log, LIN = lin, PSYM = psym, COLOR = color, AY1TITLE = AY1Title, $
                     ; spectra
                     MINCOUNT = minCount, MAXCOUNT = maxCount, BACKGRDCHAN = backgrdChan, BACKGRDVAL = backgrdVal, $
                     CHANNEL = channel, Energy = energy, ENERGYMIN = energymin, ENERGYMAX =  energymax, $
                     
                     DELAY = delay, $                      
                     ; all additional keywords
                    _EXTRA = e 

  common Request, List, StartTime, TimeInt
  common GraphC, graph, GraphN, Item

  AzMin = 0
  AzMax = 15

   elevation = 1;
   if (KEYWORD_SET(elevationAsTime)) then elevation = 0;

  if (KEYWORD_SET(ANODE)) then begin
    AzMin = Anode
   if (KEYWORD_SET(STOP_ANODE)) then AzMax = Stop_Anode $
   else AzMax = -1;
  endif
  
  
  graph(GraphN).Type = 'IMA_T'
  graph(GraphN).DataN = 1
  graph(GraphN).SetCommonF(0) = 'ima_h_spec_com, "mex"'
  graph(GraphN).GetDataF(0) = 'get_imam_h_spec, /RESTRICTED'
  graph[GraphN].DeltaT = (Graph[GraphN].TotalTime + 60.0D0) < 36100.0D0


EnMin = 1.0;
EnMax = 25000.0;

energyTitle = '';


if (KEYWORD_SET(ENERGYMIN)) then begin
   EnMin = energymin;
   EnMax =  energymax;
   energyTitle = energymin eq energymax ? '!C E ' + string(energymin,format='(f7.1)') + 'eV' : '!C E ' + string(energymin,format='(f7.1)') + '-'+  string(energymax,format='(f7.1)') + 'eV'; 
    
    options = '"mex", ' + string(AzMin) +','+string(AzMax) +','+string(EnMin) +','+string(EnMax) + ',' + string(elevation);

    angleTitle =   AzMax GT AzMin ?  'MEX IMA H+ An'+ string(AzMin,format='(i2.2)') +'-'+ string(AzMax,format='(i2.2)') : 'MEX IMA H+ An'+ string(AzMin,format='(i2.2)');
    
    graph[GraphN].AxisF =  KEYWORD_SET(lin) ?  'lineaxis, 0' : 'logaxis';
    graph[GraphN].Ly.title =  'MEX H Cnts ' +  angleTitle + energyTitle
					  
    graph[GraphN].PlotF = 'imacntplot,' + options
endif else begin
    options = '"mex",'+string(AzMin) +','+string(AzMax) + ',' + string(elevation);
    
    graph[GraphN].names = PTR_NEW(/ALLOCATE_HEAP)
    *(graph[GraphN].names) = 'log Counts'
    
    
    graph[GraphN].Ly.title = AzMax GT AzMin ?  'MEX IMA H+ An'+ string(AzMin,format='(i2.2)') +'-'+ string(AzMax,format='(i2.2)') +'!CE/Q, eV' : 'MEX IMA H+ An'+ string(AzMin,format='(i2.2)') + '!C E/Q, eV'
    graph[GraphN].PlotF =  'imaspecplot,' + options
endelse
return
end
;------------------------------------------------------------