mex_h_spec_restr_init.pro
2.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
;====================================================
; 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
;------------------------------------------------------------