source: sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_DataPlotting.ipf @ 1074

Last change on this file since 1074 was 1074, checked in by srkline, 5 years ago

Important change -- re-worked the calculation of how the detector panel "gap" is treated. It is now split equally between the panels rather than assigned to one panel. Makes no difference in the q calculation, simply a philosophical change that should make the measured beam centers make a little more sense, as they will be symmetric.

Changed the appearance and function of the panel to select the "trim" values for the combined 1D data sets. Data no longer needs to be saved as ITX and re-read into the panel. Simply uses the data binning popup and the current data.

File size: 53.0 KB
Line 
1#pragma TextEncoding = "MacRoman"               // For details execute DisplayHelpTopic "The TextEncoding Pragma"
2#pragma rtGlobals=3             // Use modern global access method and strict wave access.
3#pragma version=1.0
4
5
6//
7// functions to plot the averaged data in various views and binning types
8//
9
10
11
12//
13// simple entry procedure
14//
15// graph with the 1D representation of the VSANS detectors
16//
17// TODO:
18// -- add multiple options for how to present/rescale the data
19// -- automatically position the window next to the 2D data
20// -- color coding of the different panels (data tags/arrows/toggle on/off)?
21// -- VERIFY accuracy
22//
23// -- decide what to add to the control bar
24// ()()() In SANS, there are only 3 waves (q-i-s) and these are copied over to the plot1D folder, and the copy
25//    of the data is plotted, not the data in the WORK folder. Then for rescaling, a "fresh" copy of the data is
26//    fetched, and then rescaled. The plot automatically reflects these changes.
27//  --- for VSANS, this is much more difficult since there are multiple possibilites of 1D data, depending on the
28//     binning chosen. Currently, the data is plotted directly from the WORK folder, so this would need to be changed
29//     at the start, then deciding which waves to copy over. Messy. Very Messy. For now, simply toggle log/lin
30//
31// -- at the very least, add a log/lin toggle for the axes
32//
33// -- document, document, document
34//
35// -- see Middle_IQ_Graph() and similar for how VCALC does this plot
36//
37// -- when/if I want to add phi-averaging to this, go gack to AvgGraphics.ipf for the pink panel
38//    and to the function Draw_Plot1D() for the drawing of the plot
39//
40// If -9999 is passed in as the "binType", then read the proper value from the popup on the graph.
41//  otherwise, assume that a proper value has been passed in, say from the reduction protocol
42//
43Function V_PlotData_Panel()
44//      Variable binType
45
46        DoWindow/F V_1D_Data
47        if(V_flag==0)
48       
49//              NewDataFolder/O root:Packages:NIST:VSANS:Globals:Plot_1D
50//              Variable/G root:Packages:NIST:VSANS:Globals:Plot_1D:gYMode = 1
51//              Variable/G root:Packages:NIST:VSANS:Globals:Plot_1D:gXMode = 1
52//              Variable/G root:Packages:NIST:VSANS:Globals:Plot_1D:gExpA = 1
53//              Variable/G root:Packages:NIST:VSANS:Globals:Plot_1D:gExpB = 1
54//              Variable/G root:Packages:NIST:VSANS:Globals:Plot_1D:gExpC = 1
55               
56               
57                Display /W=(277,526,748,938)/N=V_1D_Data/K=1
58
59                ControlBar 70
60               
61                PopupMenu popup0,pos={16,5},size={71,20},title="Bin Type"
62                PopupMenu popup0,help={"This popup selects how the y-axis will be linearized based on the chosen data"}
63                PopupMenu popup0,value= ksBinTypeStr
64                PopupMenu popup0,mode=1,proc=V_BinningModePopup
65               
66                CheckBox check0,pos={18.00,36.00},size={57.00,16.00},proc=V_Plot1D_LogCheckProc,title="Log Axes"
67                CheckBox check0,value= 1
68       
69//              PopupMenu ymodel,pos={150,5},size={71,20},title="y-axis"
70//              PopupMenu ymodel,help={"This popup selects how the y-axis will be linearized based on the chosen data"}
71//              PopupMenu ymodel,value= #"\"I;log(I);ln(I);1/I;I^a;Iq^a;I^a q^b;1/sqrt(I);ln(Iq);ln(Iq^2)\""
72//              PopupMenu ymodel,mode=NumVarOrDefault("root:Packages:NIST:VSANS:Globals:Plot_1d:gYMode", 1 ),proc=V_YMode_PopMenuProc
73//              PopupMenu xmodel,pos={220,5},size={74,20},title="x-axis"
74//              PopupMenu xmodel,help={"This popup selects how the x-axis will be linearized given the chosen data"}
75//              PopupMenu xmodel,value= #"\"q;log(q);q^2;q^c\""
76//              PopupMenu xmodel,mode=NumVarOrDefault("root:Packages:NIST:VSANS:Globals:Plot_1d:gXMode", 1 ),proc=V_XMode_PopMenuProc
77////            Button Rescale,pos={281,5},size={70,20},proc=V_Rescale_Plot_1D_ButtonProc,title="Rescale"
78////            Button Rescale,help={"Rescale the x and y-axes of the data"},disable=1
79//
80//              SetVariable expa,pos={120,28},size={80,15},title="pow \"a\""
81//              SetVariable expa,help={"This sets the exponent \"a\" for some y-axis formats. The value is ignored if the model does not use an adjustable exponent"}
82//              SetVariable expa,limits={-2,10,0},value= root:Packages:NIST:VSANS:Globals:Plot_1d:gExpA
83//              SetVariable expb,pos={120,46},size={80,15},title="pow \"b\""
84//              SetVariable expb,help={"This sets the exponent \"b\" for some x-axis formats. The value is ignored if the model does not use an adjustable exponent"}
85//              SetVariable expb,limits={0,10,0},value= root:Packages:NIST:VSANS:Globals:Plot_1d:gExpB
86//
87//              SetVariable expc,pos={220,28},size={80,15},title="pow \"c\""
88//              SetVariable expc,help={"This sets the exponent \"c\" for some x-axis formats. The value is ignored if the model does not use \"c\" as an adjustable exponent"}
89//              SetVariable expc,limits={-10,10,0},value= root:Packages:NIST:VSANS:Globals:Plot_1d:gExpC
90               
91                Button AllQ,pos={320,28},size={70,20},proc=V_AllQ_Plot_1D_ButtonProc,title="All Q"
92                Button AllQ,help={"Show the full q-range of the dataset"}
93               
94                Legend/C/N=text0/J/X=72.00/Y=60.00
95        endif
96               
97       
98//      SVAR workType = root:Packages:NIST:VSANS:Globals:gCurDispType
99//
100//      if(binType == -9999)
101//              binType = V_GetBinningPopMode()         //dummy passed in, replace with value from panel
102//      endif
103//     
104//     
105//      V_QBinAllPanels(workType,binType)
106
107
108       
109End
110
111//
112// x- winStr is currently hard-wired, but this may not be an issue
113Function V_Update1D_Graph(workType,binType)
114        String workType
115        Variable binType
116       
117        //
118// x- "B" detector is currently skipped - Q is not yet calculated
119        String str,winStr="V_1D_Data",workPathStr
120        workPathStr = "root:Packages:NIST:VSANS:"+worktype
121       
122        sprintf str,"(\"%s\",%d,\"%s\")",workPathStr,binType,winStr
123       
124        Execute ("V_Back_IQ_Graph"+str)
125//      Print "V_Back_IQ_Graph"+str
126        Execute ("V_Middle_IQ_Graph"+str)
127        Execute ("V_Front_IQ_Graph"+str)
128
129       
130        return(0)
131end
132
133Function V_Plot1D_LogCheckProc(cba) : CheckBoxControl
134        STRUCT WMCheckboxAction &cba
135
136        switch( cba.eventCode )
137                case 2: // mouse up
138                        Variable checked = cba.checked
139                               
140                                ModifyGraph log=(checked)
141                       
142                        break
143                case -1: // control being killed
144                        break
145        endswitch
146
147        return 0
148End
149
150//
151////function to set the popItem (mode) of the graph, to re-create the graph based on user preferences
152//Function V_YMode_PopMenuProc(ctrlName,popNum,popStr) : PopupMenuControl
153//      String ctrlName
154//      Variable popNum
155//      String popStr
156//
157//      Variable/G root:Packages:NIST:VSANS:Globals:Plot_1d:gYMode=popNum
158//      V_Rescale_Plot_1D_ButtonProc("")
159//End
160//
161////function to set the popItem (mode) of the graph, to re-create the graph based on user preferences
162//Function V_XMode_PopMenuProc(ctrlName,popNum,popStr) : PopupMenuControl
163//      String ctrlName
164//      Variable popNum
165//      String popStr
166//
167//      Variable/G root:Packages:NIST:VSANS:Globals:Plot_1d:gXMode=popNum
168//      V_Rescale_Plot_1D_ButtonProc("")
169//End
170
171
172//function to rescale the axes of the graph as selected from the popups and the
173// entered values of the exponents
174//** assumes the current waves are unknown, so it goes and gets a "fresh" copy from
175//the data folder specified by the waves on the graph, which is the same folder that
176//contains the "fresh" copy of the 1D data
177//
178// for log(10) scaling, simply modify the axes, not the data - gives better plots
179//
180//Function V_Rescale_Plot_1D_ButtonProc(ctrlName) : ButtonControl
181//      String ctrlName
182//     
183//      DoWindow/F V_1D_Data
184////Scaling exponents and background value
185//      Variable pow_a,pow_b,pow_c
186//      ControlInfo expa
187//      pow_a = V_value
188//      ControlInfo expb
189//      pow_b = V_value
190//      ControlInfo expc
191//      pow_c = V_value
192//     
193////check for physical limits on exponent values, abort if bad values found
194//      if((pow_a < -2) || (pow_a > 10))
195//              Abort "Exponent a must be in the range (-2,10)"
196//      endif
197//      if((pow_b < 0) || (pow_b > 10))
198//              Abort "Exponent b must be in the range (0,10)"
199//      endif
200//      //if q^c is the x-scaling, c must be be within limits and also non-zero
201//      ControlInfo xModel
202//      If (cmpstr("q^c",S_Value) == 0)
203//              if(pow_c == 0)
204//                      Abort "Exponent c must be non-zero, q^0 = 1"
205//              endif
206//              if((pow_c < -10) || (pow_c > 10))
207//                      Abort "Exponent c must be in the range (-10,10)"
208//              endif
209//      endif           //check q^c exponent
210//     
211//// get the current experimental q, I, and std dev. waves
212//      SVAR curFolder=root:Packages:NIST:VSANS:Globals:gDataDisplayType
213//
214//// what is the binning? == what waves do we need to copy over
215//     
216//
217//      //get the untarnished data, so we can rescale it freshly here
218//      Wave yw = $("root:Packages:NIST:"+curFolder+":aveint")
219//      Wave ew = $("root:Packages:NIST:"+curFolder+":sigave")
220//      //get the correct x values
221//      NVAR isPhiAve= root:myGlobals:Plot_1d:isPhiAve  //0 signifies (normal) x=qvals
222//      if(isPhiAve)
223//              //x is angle
224//              Wave xw=$("root:Packages:NIST:"+curFolder+":phival")
225//      else
226//              //x is q-values
227//              Wave xw=$("root:Packages:NIST:"+curFolder+":qval")
228//      endif
229//      Wave yAxisWave=root:myGlobals:Plot_1d:yAxisWave         //refs to waves to be modified, hard-wired positions
230//      Wave xAxisWave=root:myGlobals:Plot_1d:xAxisWave
231//      Wave yErrWave=root:myGlobals:Plot_1d:yErrWave
232//     
233//      //variables set for each model to control look of graph
234//      String xlabel,ylabel,xstr,ystr
235//      Variable logLeft=0,logBottom=0
236//      //check for proper y-scaling selection, make the necessary waves
237//      ControlInfo yModel
238//      ystr = S_Value
239//      do
240//              If (cmpstr("I",S_Value) == 0)
241//                      SetScale d 0,0,"1/cm",yAxisWave
242//                      yErrWave = ew
243//                      yAxisWave = yw
244//                      ylabel = "I(q)"
245//                      break   
246//              endif
247//              If (cmpstr("ln(I)",S_Value) == 0)
248//                      SetScale d 0,0,"",yAxisWave
249//                      yErrWave = ew/yw
250//                      yAxisWave = ln(yw)
251//                      ylabel = "ln(I)"
252//                      break   
253//              endif
254//              If (cmpstr("log(I)",S_Value) == 0)
255//                      SetScale d 0,0,"",yAxisWave
256//                      yAxisWave = yw
257//                      yErrWave = ew
258//                      logLeft=1                               //scale the axis, not the wave
259//                      ylabel = "I(q)"
260////                    yErrWave = ew/(2.30*yw)
261////                    yAxisWave = log(yw)
262////                    ylabel = "log(I)"
263//                      break   
264//              endif
265//              If (cmpstr("1/I",S_Value) == 0)
266//                      SetScale d 0,0,"",yAxisWave
267//                      yErrWave = ew/yw^2
268//                      yAxisWave = 1/yw
269//                      ylabel = "1/I"
270//                      break
271//              endif
272//              If (cmpstr("I^a",S_Value) == 0)
273//                      SetScale d 0,0,"",yAxisWave
274//                      yErrWave = ew*abs(pow_a*(yw^(pow_a-1)))
275//                      yAxisWave = yw^pow_a
276//                      ylabel = "I^"+num2str(pow_a)
277//                      break
278//              endif
279//              If (cmpstr("Iq^a",S_Value) == 0)
280//                      SetScale d 0,0,"",yAxisWave
281//                      yErrWave = ew*xw^pow_a
282//                      yAxisWave = yw*xw^pow_a
283//                      ylabel = "I*q^"+num2str(pow_a)
284//                      break
285//              endif
286//              If (cmpstr("I^a q^b",S_Value) == 0)
287//                      SetScale d 0,0,"",yAxisWave
288//                      yErrWave = ew*abs(pow_a*(yw^(pow_a-1)))*xw^pow_b
289//                      yAxisWave = yw^pow_a*xw^pow_b
290//                      ylabel = "I^" + num2str(pow_a) + "q^"+num2str(pow_b)
291//                      break
292//              endif
293//              If (cmpstr("1/sqrt(I)",S_Value) == 0)
294//                      SetScale d 0,0,"",yAxisWave
295//                      yErrWave = 0.5*ew*yw^(-1.5)
296//                      yAxisWave = 1/sqrt(yw)
297//                      ylabel = "1/sqrt(I)"
298//                      break
299//              endif
300//              If (cmpstr("ln(Iq)",S_Value) == 0)
301//                      SetScale d 0,0,"",yAxisWave
302//                      yErrWave =ew/yw
303//                      yAxisWave = ln(xw*yw)
304//                      ylabel = "ln(q*I)"
305//                      break
306//              endif
307//              If (cmpstr("ln(Iq^2)",S_Value) == 0)
308//                      SetScale d 0,0,"",yAxisWave
309//                      yErrWave = ew/yw
310//                      yAxisWave = ln(xw*xw*yw)
311//                      ylabel = "ln(I*q^2)"
312//                      break
313//              endif
314//              //more ifs for each case as they are added
315//             
316//              // if selection not found, abort
317//              DoAlert 0,"Y-axis scaling incorrect. Aborting"
318//              Abort
319//      while(0)        //end of "case" statement for y-axis scaling
320//     
321//      //check for proper x-scaling selection
322//      SVAR/Z angst = root:Packages:NIST:gAngstStr
323//      String dum
324//     
325//      ControlInfo xModel
326//      xstr = S_Value
327//      do
328//              If (cmpstr("q",S_Value) == 0)   
329//                      SetScale d 0,0,"",xAxisWave
330//                      xAxisWave = xw
331//                      if(isPhiAve)
332//                              xlabel="Angle (deg)"
333//                      else
334//                              xlabel = "q ("+angst+"\\S-1\\M)"
335//                      endif
336//                      break   
337//              endif
338//              If (cmpstr("q^2",S_Value) == 0)
339//                      SetScale d 0,0,"",xAxisWave
340//                      xAxisWave = xw*xw
341//                      if(isPhiAve)
342//                              xlabel="(Angle (deg) )^2"
343//                      else
344//                              xlabel = "q^2 ("+angst+"\\S-2\\M)"
345//                      endif
346//                      break   
347//              endif
348//              If (cmpstr("log(q)",S_Value) == 0)     
349//                      SetScale d 0,0,"",xAxisWave
350//                      xAxisWave = xw          //scale the axis, not the wave
351//                      //xAxisWave = log(xw)
352//                      logBottom=1
353//                      if(isPhiAve)
354//                              //xlabel="log(Angle (deg))"
355//                              xlabel="Angle (deg)"
356//                      else
357//                              //xlabel = "log(q)"
358//                              xlabel = "q ("+angst+"\\S-1\\M)"
359//                      endif
360//                      break   
361//              endif
362//              If (cmpstr("q^c",S_Value) == 0)
363//                      SetScale d 0,0,"",xAxisWave
364//                      xAxisWave = xw^pow_c
365//                      dum = num2str(pow_c)
366//                      if(isPhiAve)
367//                              xlabel="Angle^"+dum
368//                      else
369//                              xlabel = "q^"+dum+" ("+angst+"\\S-"+dum+"\\M)"
370//                      endif
371//                      break
372//              endif
373//     
374//              //more ifs for each case
375//             
376//              // if selection not found, abort
377//              DoAlert 0,"X-axis scaling incorrect. Aborting"
378//              Abort
379//      while(0)        //end of "case" statement for x-axis scaling
380//     
381//      Label left ylabel
382//      Label bottom xlabel     //E denotes "scaling"  - may want to use "units" instead       
383//      ModifyGraph log(left)=(logLeft)
384//      ModifyGraph log(bottom)=(logBottom)
385//     
386//End
387
388
389//function to restore the graph axes to full scale, undoing any zooming
390Function V_AllQ_Plot_1D_ButtonProc(ctrlName) : ButtonControl
391        String ctrlName
392       
393        SetAxis/A
394End
395
396
397//
398// recalculate the I(q) binning. no need to adjust model function or views
399// just rebin
400//
401// see V_CombineModePopup() in V_Combine_1D.ipf for a duplicate version of this function
402//
403Function V_BinningModePopup(ctrlName,popNum,popStr) : PopupMenuControl
404        String ctrlName
405        Variable popNum // which item is currently selected (1-based)
406        String popStr           // contents of current popup item as string
407
408        SVAR type = root:Packages:NIST:VSANS:Globals:gCurDispType
409
410// dispatch based on the string, not on the number of selection in the pop string
411        V_QBinAllPanels_Circular(type,V_BinTypeStr2Num(popStr))
412
413        String str,winStr="V_1D_Data",workTypeStr
414        workTypeStr = "root:Packages:NIST:VSANS:"+type
415       
416        sprintf str,"(\"%s\",%d,\"%s\")",workTypeStr,V_BinTypeStr2Num(popStr),winStr
417
418        Execute ("V_Back_IQ_Graph"+str)
419        Execute ("V_Middle_IQ_Graph"+str)
420        Execute ("V_Front_IQ_Graph"+str)
421
422       
423        return(0)       
424End
425
426Function V_GetBinningPopMode()
427
428        Variable binType
429       
430        if(WinType("V_1D_Data")==0)
431                DoAlert 0,"V_1D_Data window is not open, called from V_GetBinningPopMode()"
432                return(0)
433        endif
434       
435        ControlInfo/W=V_1D_Data popup0
436        binType = V_BinTypeStr2Num(S_Value)
437       
438        return(binType)
439end
440
441//
442// duplicated from Middle_IQ_Graph from VCALC
443// but plotted in a standalone graph window and not the VCALC subwindow
444//
445// V_1D_Data
446//
447//
448// x- need to set binType
449// x- currently  hard-wired == 1
450//
451// input "fullPathToFolder" is the data type and defines the folder,
452// i.e. "root:Packages:NIST:VSANS:"+"SAM"
453//
454Proc V_Middle_IQ_Graph(fullPathToFolder,binType,winNameStr)
455        String fullPathToFolder
456        Variable binType
457        String winNameStr
458
459//      binType = V_GetBinningPopMode()
460        SetDataFolder $(fullPathToFolder)
461
462// clear EVERYTHING
463        ClearIQIfDisplayed_AllFldr("MLRTB",winNameStr)
464        ClearIQIfDisplayed_AllFldr("MLR",winNameStr)
465        ClearIQIfDisplayed_AllFldr("MTB",winNameStr)            //this returns to root:
466        ClearIQIfDisplayed_AllFldr("MT",winNameStr)     
467        ClearIQIfDisplayed_AllFldr("ML",winNameStr)     
468        ClearIQIfDisplayed_AllFldr("MR",winNameStr)     
469        ClearIQIfDisplayed_AllFldr("MB",winNameStr)             
470
471
472// then replace the traces as needed, depending on the binType
473
474        if(binType==1)
475       
476                SetDataFolder $(fullPathToFolder)
477                CheckDisplayed/W=$winNameStr iBin_qxqy_ML
478               
479                if(V_flag==0)
480                        AppendtoGraph/W=$winNameStr iBin_qxqy_ML vs qBin_qxqy_ML
481                        AppendToGraph/W=$winNameStr iBin_qxqy_MR vs qBin_qxqy_MR
482                        AppendToGraph/W=$winNameStr iBin_qxqy_MT vs qBin_qxqy_MT
483                        AppendToGraph/W=$winNameStr iBin_qxqy_MB vs qBin_qxqy_MB
484                        ErrorBars/T=0 iBin_qxqy_ML Y,wave=(:eBin_qxqy_ML,:eBin_qxqy_ML)
485                        ErrorBars/T=0 iBin_qxqy_MR Y,wave=(:eBin_qxqy_MR,:eBin_qxqy_MR)
486                        ErrorBars/T=0 iBin_qxqy_MT Y,wave=(:eBin_qxqy_MT,:eBin_qxqy_MT)
487                        ErrorBars/T=0 iBin_qxqy_MB Y,wave=(:eBin_qxqy_MB,:eBin_qxqy_MB)
488                       
489                        ModifyGraph/W=$winNameStr mode=4
490                        ModifyGraph/W=$winNameStr marker=19
491                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_ML)=(65535,0,0),rgb(iBin_qxqy_MB)=(1,16019,65535),rgb(iBin_qxqy_MR)=(65535,0,0),rgb(iBin_qxqy_MT)=(1,16019,65535)
492                        ModifyGraph/W=$winNameStr msize=2
493                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_ML)={0,4},muloffset(iBin_qxqy_MB)={0,2},muloffset(iBin_qxqy_MR)={0,8}
494                        ModifyGraph/W=$winNameStr grid=1
495                        ModifyGraph/W=$winNameStr log=1
496                        ModifyGraph/W=$winNameStr mirror=2
497                endif           
498        endif
499       
500        if(binType==2)
501                SetDataFolder $(fullPathToFolder)
502                CheckDisplayed/W=$winNameStr iBin_qxqy_MLR
503               
504                if(V_flag==0)
505                        AppendtoGraph/W=$winNameStr iBin_qxqy_MLR vs qBin_qxqy_MLR
506                        AppendToGraph/W=$winNameStr iBin_qxqy_MTB vs qBin_qxqy_MTB
507                        ErrorBars/T=0 iBin_qxqy_MLR Y,wave=(:eBin_qxqy_MLR,:eBin_qxqy_MLR)
508                        ErrorBars/T=0 iBin_qxqy_MTB Y,wave=(:eBin_qxqy_MTB,:eBin_qxqy_MTB)
509                       
510                        ModifyGraph/W=$winNameStr mode=4
511                        ModifyGraph/W=$winNameStr marker=19
512                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MLR)=(65535,0,0),rgb(iBin_qxqy_MTB)=(1,16019,65535)
513                        ModifyGraph/W=$winNameStr msize=2
514                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_MLR)={0,2}
515                        ModifyGraph/W=$winNameStr grid=1
516                        ModifyGraph/W=$winNameStr log=1
517                        ModifyGraph/W=$winNameStr mirror=2
518                        Label/W=$winNameStr left "Intensity (1/cm)"
519                        Label/W=$winNameStr bottom "Q (1/A)"
520                endif   
521                       
522        endif
523       
524        if(binType==3)
525
526                SetDataFolder $(fullPathToFolder)
527                CheckDisplayed/W=$winNameStr iBin_qxqy_MLRTB
528               
529                if(V_flag==0)
530                        AppendtoGraph/W=$winNameStr iBin_qxqy_MLRTB vs qBin_qxqy_MLRTB
531                        ErrorBars/T=0 iBin_qxqy_MLRTB Y,wave=(:eBin_qxqy_MLRTB,:eBin_qxqy_MLRTB)
532                       
533                        ModifyGraph/W=$winNameStr mode=4
534                        ModifyGraph/W=$winNameStr marker=19
535                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MLRTB)=(65535,0,0)
536                        ModifyGraph/W=$winNameStr msize=2
537                        ModifyGraph/W=$winNameStr grid=1
538                        ModifyGraph/W=$winNameStr log=1
539                        ModifyGraph/W=$winNameStr mirror=2
540                        Label/W=$winNameStr left "Intensity (1/cm)"
541                        Label/W=$winNameStr bottom "Q (1/A)"
542                endif   
543                       
544        endif
545
546        if(binType==4)          // slit aperture binning - MT, ML, MR, MB are averaged
547
548                SetDataFolder $(fullPathToFolder)
549                CheckDisplayed/W=$winNameStr iBin_qxqy_ML
550               
551                if(V_flag==0)
552                        AppendToGraph/W=$winNameStr iBin_qxqy_ML vs qBin_qxqy_ML
553                        AppendToGraph/W=$winNameStr iBin_qxqy_MR vs qBin_qxqy_MR
554//                      AppendToGraph/W=$winNameStr iBin_qxqy_MT vs qBin_qxqy_MT
555//                      AppendToGraph/W=$winNameStr iBin_qxqy_MB vs qBin_qxqy_MB
556                        ErrorBars/T=0 iBin_qxqy_ML Y,wave=(:eBin_qxqy_ML,:eBin_qxqy_ML)
557                        ErrorBars/T=0 iBin_qxqy_MR Y,wave=(:eBin_qxqy_MR,:eBin_qxqy_MR)
558//                      ErrorBars/T=0 iBin_qxqy_MT Y,wave=(:eBin_qxqy_MT,:eBin_qxqy_MT)
559//                      ErrorBars/T=0 iBin_qxqy_MB Y,wave=(:eBin_qxqy_MB,:eBin_qxqy_MB)
560                       
561                        ModifyGraph/W=$winNameStr mode=4
562                        ModifyGraph/W=$winNameStr marker=19
563                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_ML)=(65535,0,0),rgb(iBin_qxqy_MR)=(65535,0,0)
564//                      ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MB)=(1,16019,65535),rgb(iBin_qxqy_MT)=(1,16019,65535)
565                        ModifyGraph/W=$winNameStr msize=2
566                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_ML)={0,4},muloffset(iBin_qxqy_MR)={0,8}
567//                      ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_MB)={0,2}
568                        ModifyGraph/W=$winNameStr grid=1
569                        ModifyGraph/W=$winNameStr log=1
570                        ModifyGraph/W=$winNameStr mirror=2
571                endif           
572                       
573        endif
574
575        if(binType==5)
576
577                SetDataFolder $(fullPathToFolder)
578                CheckDisplayed/W=$winNameStr iBin_qxqy_MLRTB
579               
580                if(V_flag==0)
581                        AppendtoGraph/W=$winNameStr iBin_qxqy_MLRTB vs qBin_qxqy_MLRTB
582                        ErrorBars/T=0 iBin_qxqy_MLRTB Y,wave=(:eBin_qxqy_MLRTB,:eBin_qxqy_MLRTB)
583                       
584                        ModifyGraph/W=$winNameStr mode=4
585                        ModifyGraph/W=$winNameStr marker=19
586                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MLRTB)=(65535,0,0)
587                        ModifyGraph/W=$winNameStr msize=2
588                        ModifyGraph/W=$winNameStr grid=1
589                        ModifyGraph/W=$winNameStr log=1
590                        ModifyGraph/W=$winNameStr mirror=2
591                        Label/W=$winNameStr left "Intensity (1/cm)"
592                        Label/W=$winNameStr bottom "Q (1/A)"
593                endif   
594                       
595        endif
596
597        if(binType==6)
598
599                SetDataFolder $(fullPathToFolder)
600                CheckDisplayed/W=$winNameStr iBin_qxqy_MLR
601               
602                if(V_flag==0)
603                        AppendtoGraph/W=$winNameStr iBin_qxqy_MLR vs qBin_qxqy_MLR
604                        ErrorBars/T=0 iBin_qxqy_MLR Y,wave=(:eBin_qxqy_MLR,:eBin_qxqy_MLR)
605                       
606                        ModifyGraph/W=$winNameStr mode=4
607                        ModifyGraph/W=$winNameStr marker=19
608                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MLR)=(65535,0,0)
609                        ModifyGraph/W=$winNameStr msize=2
610                        ModifyGraph/W=$winNameStr grid=1
611                        ModifyGraph/W=$winNameStr log=1
612                        ModifyGraph/W=$winNameStr mirror=2
613                        Label/W=$winNameStr left "Intensity (1/cm)"
614                        Label/W=$winNameStr bottom "Q (1/A)"
615                endif   
616                       
617        endif
618
619        if(binType==7)
620
621                SetDataFolder $(fullPathToFolder)
622                CheckDisplayed/W=$winNameStr iBin_qxqy_MLR
623               
624                if(V_flag==0)
625                        AppendtoGraph/W=$winNameStr iBin_qxqy_MLR vs qBin_qxqy_MLR
626                        ErrorBars/T=0 iBin_qxqy_MLR Y,wave=(:eBin_qxqy_MLR,:eBin_qxqy_MLR)
627                       
628                        ModifyGraph/W=$winNameStr mode=4
629                        ModifyGraph/W=$winNameStr marker=19
630                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MLR)=(65535,0,0)
631                        ModifyGraph/W=$winNameStr msize=2
632                        ModifyGraph/W=$winNameStr grid=1
633                        ModifyGraph/W=$winNameStr log=1
634                        ModifyGraph/W=$winNameStr mirror=2
635                        Label/W=$winNameStr left "Intensity (1/cm)"
636                        Label/W=$winNameStr bottom "Q (1/A)"
637                endif   
638                       
639        endif
640       
641        SetDataFolder root:
642End
643
644//
645// duplicated from Middle_IQ_Graph from VCALC
646// but plotted in a standalone graph window and not the VCALC subwindow
647//
648// V_1D_Data
649//
650//
651// x- need to set binType
652// x- currently  hard-wired == 1
653// x- error bars on the data
654//
655Proc V_Front_IQ_Graph(fullPathToFolder,binType,winNameStr)
656        String fullPathToFolder
657        Variable binType
658        String winNameStr
659
660
661//      binType = V_GetBinningPopMode()
662        SetDataFolder $(fullPathToFolder)
663
664// clear EVERYTHING
665        ClearIQIfDisplayed_AllFldr("FLRTB",winNameStr)
666       
667        ClearIQIfDisplayed_AllFldr("FLR",winNameStr)
668        ClearIQIfDisplayed_AllFldr("FTB",winNameStr)
669
670        ClearIQIfDisplayed_AllFldr("FT",winNameStr)     
671        ClearIQIfDisplayed_AllFldr("FL",winNameStr)     
672        ClearIQIfDisplayed_AllFldr("FR",winNameStr)     
673        ClearIQIfDisplayed_AllFldr("FB",winNameStr)
674               
675        if(binType==1)
676
677                SetDataFolder $(fullPathToFolder)
678                CheckDisplayed/W=$winNameStr iBin_qxqy_FL
679               
680                if(V_flag==0)
681                        AppendtoGraph/W=$winNameStr iBin_qxqy_FL vs qBin_qxqy_FL
682                        AppendToGraph/W=$winNameStr iBin_qxqy_FR vs qBin_qxqy_FR
683                        AppendToGraph/W=$winNameStr iBin_qxqy_FT vs qBin_qxqy_FT
684                        AppendToGraph/W=$winNameStr iBin_qxqy_FB vs qBin_qxqy_FB
685                        ErrorBars/T=0 iBin_qxqy_FL Y,wave=(:eBin_qxqy_FL,:eBin_qxqy_FL)
686                        ErrorBars/T=0 iBin_qxqy_FR Y,wave=(:eBin_qxqy_FR,:eBin_qxqy_FR)
687                        ErrorBars/T=0 iBin_qxqy_FT Y,wave=(:eBin_qxqy_FT,:eBin_qxqy_FT)
688                        ErrorBars/T=0 iBin_qxqy_FB Y,wave=(:eBin_qxqy_FB,:eBin_qxqy_FB)
689
690                        ModifyGraph/W=$winNameStr mode=4
691                        ModifyGraph/W=$winNameStr marker=19
692                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FL)=(39321,26208,1),rgb(iBin_qxqy_FB)=(2,39321,1),rgb(iBin_qxqy_FR)=(39321,26208,1),rgb(iBin_qxqy_FT)=(2,39321,1)
693                        ModifyGraph/W=$winNameStr msize=2
694                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FL)={0,4},muloffset(iBin_qxqy_FB)={0,2},muloffset(iBin_qxqy_FR)={0,8}
695                        ModifyGraph/W=$winNameStr grid=1
696                        ModifyGraph/W=$winNameStr log=1
697                        ModifyGraph/W=$winNameStr mirror=2
698                        Label/W=$winNameStr left "Intensity (1/cm)"
699                        Label/W=$winNameStr bottom "Q (1/A)"
700                endif           
701        endif
702       
703        if(binType==2)
704
705                SetDataFolder $(fullPathToFolder)
706                CheckDisplayed/W=$winNameStr iBin_qxqy_FLR
707               
708                if(V_flag==0)
709                        AppendtoGraph/W=$winNameStr iBin_qxqy_FLR vs qBin_qxqy_FLR
710                        AppendToGraph/W=$winNameStr iBin_qxqy_FTB vs qBin_qxqy_FTB
711                        ErrorBars/T=0 iBin_qxqy_FLR Y,wave=(:eBin_qxqy_FLR,:eBin_qxqy_FLR)
712                        ErrorBars/T=0 iBin_qxqy_FTB Y,wave=(:eBin_qxqy_FTB,:eBin_qxqy_FTB)
713
714                        ModifyGraph/W=$winNameStr mode=4
715                        ModifyGraph/W=$winNameStr marker=19
716                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FLR)=(39321,26208,1),rgb(iBin_qxqy_FTB)=(2,39321,1)
717                        ModifyGraph/W=$winNameStr msize=2
718                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FLR)={0,2}
719                        ModifyGraph/W=$winNameStr grid=1
720                        ModifyGraph/W=$winNameStr log=1
721                        ModifyGraph/W=$winNameStr mirror=2
722//                      Label/W=$winNameStr left "Intensity (1/cm)"
723//                      Label/W=$winNameStr bottom "Q (1/A)"
724                endif   
725                       
726        endif
727       
728        if(binType==3) 
729       
730                SetDataFolder $(fullPathToFolder)
731                CheckDisplayed/W=$winNameStr iBin_qxqy_FLRTB
732               
733                if(V_flag==0)
734                        AppendtoGraph/W=$winNameStr iBin_qxqy_FLRTB vs qBin_qxqy_FLRTB
735                        ErrorBars/T=0 iBin_qxqy_FLRTB Y,wave=(:eBin_qxqy_FLRTB,:eBin_qxqy_FLRTB)
736
737                        ModifyGraph/W=$winNameStr mode=4
738                        ModifyGraph/W=$winNameStr marker=19
739                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FLRTB)=(39321,26208,1)
740                        ModifyGraph/W=$winNameStr msize=2
741                        ModifyGraph/W=$winNameStr grid=1
742                        ModifyGraph/W=$winNameStr log=1
743                        ModifyGraph/W=$winNameStr mirror=2
744                        Label/W=$winNameStr left "Intensity (1/cm)"
745                        Label/W=$winNameStr bottom "Q (1/A)"
746                endif   
747                       
748        endif
749
750        if(binType==4)          // slit aperture binning - MT, ML, MR, MB are averaged
751               
752                SetDataFolder $(fullPathToFolder)
753                CheckDisplayed/W=$winNameStr iBin_qxqy_FL
754               
755                if(V_flag==0)
756                        AppendtoGraph/W=$winNameStr iBin_qxqy_FL vs qBin_qxqy_FL
757                        AppendToGraph/W=$winNameStr iBin_qxqy_FR vs qBin_qxqy_FR
758//                      AppendToGraph/W=$winNameStr iBin_qxqy_FT vs qBin_qxqy_FT
759//                      AppendToGraph/W=$winNameStr iBin_qxqy_FB vs qBin_qxqy_FB
760                        ErrorBars/T=0 iBin_qxqy_FL Y,wave=(:eBin_qxqy_FL,:eBin_qxqy_FL)
761                        ErrorBars/T=0 iBin_qxqy_FR Y,wave=(:eBin_qxqy_FR,:eBin_qxqy_FR)
762//                      ErrorBars/T=0 iBin_qxqy_FT Y,wave=(:eBin_qxqy_FT,:eBin_qxqy_FT)
763//                      ErrorBars/T=0 iBin_qxqy_FB Y,wave=(:eBin_qxqy_FB,:eBin_qxqy_FB)
764                       
765                        ModifyGraph/W=$winNameStr mode=4
766                        ModifyGraph/W=$winNameStr marker=19
767                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FL)=(39321,26208,1),rgb(iBin_qxqy_FR)=(39321,26208,1)
768//                      ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FB)=(2,39321,1),rgb(iBin_qxqy_FT)=(2,39321,1)
769                        ModifyGraph/W=$winNameStr msize=2
770                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FL)={0,4},muloffset(iBin_qxqy_FR)={0,8}
771//                      ModifyGraph/W=$winNameStr,muloffset(iBin_qxqy_FB)={0,2}
772                        ModifyGraph/W=$winNameStr grid=1
773                        ModifyGraph/W=$winNameStr log=1
774                        ModifyGraph/W=$winNameStr mirror=2
775                endif           
776                       
777        endif
778
779        if(binType==5)
780
781                SetDataFolder $(fullPathToFolder)
782                CheckDisplayed/W=$winNameStr iBin_qxqy_FLR
783               
784                if(V_flag==0)
785                        AppendtoGraph/W=$winNameStr iBin_qxqy_FLR vs qBin_qxqy_FLR
786                        AppendToGraph/W=$winNameStr iBin_qxqy_FTB vs qBin_qxqy_FTB
787                        ErrorBars/T=0 iBin_qxqy_FLR Y,wave=(:eBin_qxqy_FLR,:eBin_qxqy_FLR)
788                        ErrorBars/T=0 iBin_qxqy_FTB Y,wave=(:eBin_qxqy_FTB,:eBin_qxqy_FTB)
789
790                        ModifyGraph/W=$winNameStr mode=4
791                        ModifyGraph/W=$winNameStr marker=19
792                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FLR)=(39321,26208,1),rgb(iBin_qxqy_FTB)=(2,39321,1)
793                        ModifyGraph/W=$winNameStr msize=2
794                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FLR)={0,2}
795                        ModifyGraph/W=$winNameStr grid=1
796                        ModifyGraph/W=$winNameStr log=1
797                        ModifyGraph/W=$winNameStr mirror=2
798//                      Label/W=$winNameStr left "Intensity (1/cm)"
799//                      Label/W=$winNameStr bottom "Q (1/A)"
800                endif   
801                       
802        endif
803
804        if(binType==6) 
805       
806                SetDataFolder $(fullPathToFolder)
807                CheckDisplayed/W=$winNameStr iBin_qxqy_FLRTB
808               
809                if(V_flag==0)
810                        AppendtoGraph/W=$winNameStr iBin_qxqy_FLRTB vs qBin_qxqy_FLRTB
811                        ErrorBars/T=0 iBin_qxqy_FLRTB Y,wave=(:eBin_qxqy_FLRTB,:eBin_qxqy_FLRTB)
812
813                        ModifyGraph/W=$winNameStr mode=4
814                        ModifyGraph/W=$winNameStr marker=19
815                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FLRTB)=(39321,26208,1)
816                        ModifyGraph/W=$winNameStr msize=2
817                        ModifyGraph/W=$winNameStr grid=1
818                        ModifyGraph/W=$winNameStr log=1
819                        ModifyGraph/W=$winNameStr mirror=2
820                        Label/W=$winNameStr left "Intensity (1/cm)"
821                        Label/W=$winNameStr bottom "Q (1/A)"
822                endif   
823                       
824        endif
825       
826        if(binType==7)
827
828                SetDataFolder $(fullPathToFolder)
829                CheckDisplayed/W=$winNameStr iBin_qxqy_FLR
830               
831                if(V_flag==0)
832                        AppendtoGraph/W=$winNameStr iBin_qxqy_FLR vs qBin_qxqy_FLR
833                        AppendToGraph/W=$winNameStr iBin_qxqy_FTB vs qBin_qxqy_FTB
834                        ErrorBars/T=0 iBin_qxqy_FLR Y,wave=(:eBin_qxqy_FLR,:eBin_qxqy_FLR)
835                        ErrorBars/T=0 iBin_qxqy_FTB Y,wave=(:eBin_qxqy_FTB,:eBin_qxqy_FTB)
836
837                        ModifyGraph/W=$winNameStr mode=4
838                        ModifyGraph/W=$winNameStr marker=19
839                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FLR)=(39321,26208,1),rgb(iBin_qxqy_FTB)=(2,39321,1)
840                        ModifyGraph/W=$winNameStr msize=2
841                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FLR)={0,2}
842                        ModifyGraph/W=$winNameStr grid=1
843                        ModifyGraph/W=$winNameStr log=1
844                        ModifyGraph/W=$winNameStr mirror=2
845//                      Label/W=$winNameStr left "Intensity (1/cm)"
846//                      Label/W=$winNameStr bottom "Q (1/A)"
847                endif   
848                       
849        endif
850
851       
852        SetDataFolder root:
853End
854
855
856//
857// x- need to set binType
858// x- currently  hard-wired == 1
859// x- error bars on the data
860//
861//      type = the data folder
862// binType = numerical index of the bin type (1->4)
863//  one;two;four;slit
864// winNameStr = the name of the target window
865//
866////////////to plot the back panel I(q)
867Proc V_Back_IQ_Graph(fullPathToFolder,binType,winNameStr)
868        String fullPathToFolder
869        Variable binType
870        String winNameStr
871       
872//      SetDataFolder root:Packages:NIST:VSANS:VCALC:entry:instrument:detector_B
873
874//      Variable binType
875
876//      binType = V_GetBinningPopMode()
877       
878        ClearIQIfDisplayed_AllFldr("B",winNameStr)
879
880
881        SetDataFolder $(fullPathToFolder)       
882
883//      if(binType==1 || binType==2 || binType==3)
884        if(binType==1 || binType==2 || binType==3)
885       
886                SetDataFolder $(fullPathToFolder)       
887                CheckDisplayed/W=$winNameStr iBin_qxqy_B
888               
889                if(V_flag==0)
890                        AppendtoGraph/W=$winNameStr iBin_qxqy_B vs qBin_qxqy_B
891                        ErrorBars/T=0 iBin_qxqy_B Y,wave=(:eBin_qxqy_B,:eBin_qxqy_B)
892                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_B)=4
893                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B)=(1,52428,52428)
894                        ModifyGraph/W=$winNameStr grid=1
895                        ModifyGraph/W=$winNameStr log=1
896                        ModifyGraph/W=$winNameStr mirror=2
897                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_B)=19,msize(iBin_qxqy_B)=2
898//                      ModifyGraph/W=$winNameStr msize(iBin_qxqy_B)=3,textMarker(iBin_qxqy_B)={"B","default",1,0,5,0.00,0.00}
899
900                endif
901               
902        endif
903
904        //nothing different here since there is ony a single detector to display, but for the future...
905        if(binType==4)
906       
907                SetDataFolder $(fullPathToFolder)                               // ClearIQIfDisplayed_AllFldr() resets to root:
908                CheckDisplayed/W=$winNameStr iBin_qxqy_B
909               
910                if(V_flag==0)
911                        AppendtoGraph/W=$winNameStr iBin_qxqy_B vs qBin_qxqy_B
912                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_B)=4
913                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_B)=19
914                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B)=(1,52428,52428)
915                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_B)=2
916                        ModifyGraph/W=$winNameStr grid=1
917                        ModifyGraph/W=$winNameStr log=1
918                        ModifyGraph/W=$winNameStr mirror=2
919                endif
920        endif
921
922        if(binType==5 || binType==6 || binType==7)
923       
924                SetDataFolder $(fullPathToFolder)       
925                CheckDisplayed/W=$winNameStr iBin_qxqy_B
926               
927                if(V_flag==0)
928                        AppendtoGraph/W=$winNameStr iBin_qxqy_B vs qBin_qxqy_B
929                        ErrorBars/T=0 iBin_qxqy_B Y,wave=(:eBin_qxqy_B,:eBin_qxqy_B)
930                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_B)=4
931                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B)=(1,52428,52428)
932                        ModifyGraph/W=$winNameStr grid=1
933                        ModifyGraph/W=$winNameStr log=1
934                        ModifyGraph/W=$winNameStr mirror=2
935                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_B)=19,msize(iBin_qxqy_B)=2
936//                      ModifyGraph/W=$winNameStr msize(iBin_qxqy_B)=3,textMarker(iBin_qxqy_B)={"B","default",1,0,5,0.00,0.00}
937
938                endif
939               
940        endif
941
942       
943        SetDataFolder root:
944End
945
946
947
948//      type = the data folder
949// binType = numerical index of the bin type (1->4)
950//  one;two;four;slit
951// winNameStr = the name of the target window
952//
953////////////to plot the back panel I(q)
954Proc V_Back_IQ_Graph_trim(fullPathToFolder,binType,winNameStr)
955        String fullPathToFolder
956        Variable binType
957        String winNameStr
958       
959//      SetDataFolder root:Packages:NIST:VSANS:VCALC:entry:instrument:detector_B
960
961//      Variable binType
962
963//      binType = V_GetBinningPopMode()
964        ClearIQIfDisplayed_AllFldr("B_trim",winNameStr)
965
966
967        SetDataFolder $(fullPathToFolder)       
968
969        if(binType==1 || binType==2 || binType==3)
970       
971                SetDataFolder $(fullPathToFolder)       
972                CheckDisplayed/W=$winNameStr iBin_qxqy_B_trim
973               
974                if(V_flag==0)
975                        AppendtoGraph/W=$winNameStr iBin_qxqy_B_trim vs qBin_qxqy_B_trim
976                        ErrorBars/T=0 iBin_qxqy_B_trim Y,wave=(:eBin_qxqy_B_trim,:eBin_qxqy_B_trim)
977                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_B_trim)=4
978                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B_trim)=(1,52428,52428)
979                        ModifyGraph/W=$winNameStr grid=1
980                        ModifyGraph/W=$winNameStr log=1
981                        ModifyGraph/W=$winNameStr mirror=2
982                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_B_trim)=19,msize(iBin_qxqy_B_trim)=3
983//                      ModifyGraph/W=$winNameStr msize(iBin_qxqy_B_trim)=3,textMarker(iBin_qxqy_B_trim)={"B","default",1,0,5,0.00,0.00}
984
985                endif
986               
987        endif
988
989        //nothing different here since there is ony a single detector to display, but for the future...
990        if(binType==4)
991       
992                SetDataFolder $(fullPathToFolder)       
993                CheckDisplayed/W=$winNameStr iBin_qxqy_B_trim
994               
995                if(V_flag==0)
996                        AppendtoGraph/W=$winNameStr iBin_qxqy_B_trim vs qBin_qxqy_B_trim
997                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_B_trim)=4
998                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_B_trim)=19
999                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B_trim)=(1,52428,52428)
1000                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_B_trim)=3
1001                        ModifyGraph/W=$winNameStr grid=1
1002                        ModifyGraph/W=$winNameStr log=1
1003                        ModifyGraph/W=$winNameStr mirror=2
1004                endif
1005        endif
1006
1007        if(binType==5 || binType==6 || binType==7)
1008       
1009        SetDataFolder $(fullPathToFolder)       
1010                        CheckDisplayed/W=$winNameStr iBin_qxqy_B_trim
1011               
1012                if(V_flag==0)
1013                        AppendtoGraph/W=$winNameStr iBin_qxqy_B_trim vs qBin_qxqy_B_trim
1014                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_B_trim)=4
1015                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_B_trim)=19
1016                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B_trim)=(1,52428,52428)
1017                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_B_trim)=3
1018                        ModifyGraph/W=$winNameStr grid=1
1019                        ModifyGraph/W=$winNameStr log=1
1020                        ModifyGraph/W=$winNameStr mirror=2
1021                endif
1022        endif
1023       
1024        SetDataFolder root:
1025End
1026
1027
1028//
1029// x- need to set binType
1030// x- currently  hard-wired == 1
1031//
1032// input "fullPathToFolder" is the data type and defines the folder,
1033// i.e. "root:Packages:NIST:VSANS:"+"SAM"
1034//
1035Proc V_Middle_IQ_Graph_trim(fullPathToFolder,binType,winNameStr)
1036        String fullPathToFolder
1037        Variable binType
1038        String winNameStr
1039
1040//      binType = V_GetBinningPopMode()
1041        SetDataFolder $(fullPathToFolder)
1042
1043//      String midList = "ML;MR;MT;MB;MLR;MTB;MLRTB;"
1044        String type
1045        Variable ii
1046
1047// clear EVERYTHING
1048        ClearIQIfDisplayed_AllFldr("MLRTB_trim",winNameStr)
1049        ClearIQIfDisplayed_AllFldr("MLR_trim",winNameStr)
1050        ClearIQIfDisplayed_AllFldr("MTB_trim",winNameStr)               //this returns to root:
1051        ClearIQIfDisplayed_AllFldr("MT_trim",winNameStr)       
1052        ClearIQIfDisplayed_AllFldr("ML_trim",winNameStr)       
1053        ClearIQIfDisplayed_AllFldr("MR_trim",winNameStr)       
1054        ClearIQIfDisplayed_AllFldr("MB_trim",winNameStr)               
1055
1056        if(binType==1)
1057//              ii=0
1058//              do
1059//                      type = StringFromList(ii, midlist, ";")
1060//                      CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1061//                      if(V_flag==1)
1062//                              RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1063//                      endif
1064//                      ii+=1
1065//              while(ii<ItemsInList(midList))
1066       
1067                       
1068                SetDataFolder $(fullPathToFolder)
1069                CheckDisplayed/W=$winNameStr iBin_qxqy_ML_trim
1070               
1071                if(V_flag==0)
1072                        AppendtoGraph/W=$winNameStr iBin_qxqy_ML_trim vs qBin_qxqy_ML_trim
1073                        AppendToGraph/W=$winNameStr iBin_qxqy_MR_trim vs qBin_qxqy_MR_trim
1074                        AppendToGraph/W=$winNameStr iBin_qxqy_MT_trim vs qBin_qxqy_MT_trim
1075                        AppendToGraph/W=$winNameStr iBin_qxqy_MB_trim vs qBin_qxqy_MB_trim
1076                        ErrorBars/T=0 iBin_qxqy_ML_trim Y,wave=(:eBin_qxqy_ML_trim,:eBin_qxqy_ML_trim)
1077                        ErrorBars/T=0 iBin_qxqy_MR_trim Y,wave=(:eBin_qxqy_MR_trim,:eBin_qxqy_MR_trim)
1078                        ErrorBars/T=0 iBin_qxqy_MT_trim Y,wave=(:eBin_qxqy_MT_trim,:eBin_qxqy_MT_trim)
1079                        ErrorBars/T=0 iBin_qxqy_MB_trim Y,wave=(:eBin_qxqy_MB_trim,:eBin_qxqy_MB_trim)
1080                       
1081                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_ML_trim)=4
1082                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MR_trim)=4
1083                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MT_trim)=4
1084                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MB_trim)=4
1085                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_ML_trim)=19
1086                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MR_trim)=19
1087                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MT_trim)=19
1088                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MB_trim)=19
1089                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_ML_trim)=(65535,0,0),rgb(iBin_qxqy_MB_trim)=(1,16019,65535),rgb(iBin_qxqy_MR_trim)=(65535,0,0),rgb(iBin_qxqy_MT_trim)=(1,16019,65535)
1090                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_ML_trim)=3
1091                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MR_trim)=3
1092                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MT_trim)=3
1093                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MB_trim)=3
1094                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_ML_trim)={0,4},muloffset(iBin_qxqy_MB_trim)={0,2},muloffset(iBin_qxqy_MR_trim)={0,8}
1095                        ModifyGraph/W=$winNameStr grid=1
1096                        ModifyGraph/W=$winNameStr log=1
1097                        ModifyGraph/W=$winNameStr mirror=2
1098                endif           
1099        endif
1100       
1101        if(binType==2)
1102// clear EVERYTHING
1103//              ii=0
1104//              do
1105//                      type = StringFromList(ii, midlist, ";")
1106//                      CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1107//                      if(V_flag==1)
1108//                              RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1109//                      endif
1110//                      ii+=1
1111//              while(ii<ItemsInList(midList))
1112//             
1113
1114                SetDataFolder $(fullPathToFolder)
1115                CheckDisplayed/W=$winNameStr iBin_qxqy_MLR_trim
1116               
1117                if(V_flag==0)
1118                        AppendtoGraph/W=$winNameStr iBin_qxqy_MLR_trim vs qBin_qxqy_MLR_trim
1119                        AppendToGraph/W=$winNameStr iBin_qxqy_MTB_trim vs qBin_qxqy_MTB_trim
1120                        ErrorBars/T=0 iBin_qxqy_MLR_trim Y,wave=(:eBin_qxqy_MLR_trim,:eBin_qxqy_MLR_trim)
1121                        ErrorBars/T=0 iBin_qxqy_MTB_trim Y,wave=(:eBin_qxqy_MTB_trim,:eBin_qxqy_MTB_trim)
1122                       
1123                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MLR_trim)=4
1124                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MTB_trim)=4
1125                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MLR_trim)=19
1126                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MTB_trim)=19
1127                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MLR_trim)=(65535,0,0),rgb(iBin_qxqy_MTB_trim)=(1,16019,65535)
1128                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MLR_trim)=3
1129                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MTB_trim)=3
1130                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_MLR_trim)={0,2}
1131                        ModifyGraph/W=$winNameStr grid=1
1132                        ModifyGraph/W=$winNameStr log=1
1133                        ModifyGraph/W=$winNameStr mirror=2
1134                        Label/W=$winNameStr left "Intensity (1/cm)"
1135                        Label/W=$winNameStr bottom "Q (1/A)"
1136                endif   
1137                       
1138        endif
1139       
1140        if(binType==3)
1141//// clear EVERYTHING
1142//              ii=0
1143//              do
1144//                      type = StringFromList(ii, midlist, ";")
1145//                      CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1146//                      if(V_flag==1)
1147//                              RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1148//                      endif
1149//                      ii+=1
1150//              while(ii<ItemsInList(midList))
1151
1152       
1153                SetDataFolder $(fullPathToFolder)
1154                CheckDisplayed/W=$winNameStr iBin_qxqy_MLRTB_trim
1155               
1156                if(V_flag==0)
1157                        AppendtoGraph/W=$winNameStr iBin_qxqy_MLRTB_trim vs qBin_qxqy_MLRTB_trim
1158                        ErrorBars/T=0 iBin_qxqy_MLRTB_trim Y,wave=(:eBin_qxqy_MLRTB_trim,:eBin_qxqy_MLRTB_trim)
1159                       
1160                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MLRTB_trim)=4
1161                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MLRTB_trim)=19
1162                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MLRTB_trim)=(65535,0,0)
1163                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MLRTB_trim)=3
1164                        ModifyGraph/W=$winNameStr grid=1
1165                        ModifyGraph/W=$winNameStr log=1
1166                        ModifyGraph/W=$winNameStr mirror=2
1167                        Label/W=$winNameStr left "Intensity (1/cm)"
1168                        Label/W=$winNameStr bottom "Q (1/A)"
1169                endif   
1170                       
1171        endif
1172
1173        if(binType==4)          // slit aperture binning - MT, ML, MR, MB are averaged
1174//// clear EVERYTHING
1175//              ii=0
1176//              do
1177//                      type = StringFromList(ii, midlist, ";")
1178//                      CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1179//                      if(V_flag==1)
1180//                              RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1181//                      endif
1182//                      ii+=1
1183//              while(ii<ItemsInList(midList))
1184               
1185
1186               
1187                SetDataFolder $(fullPathToFolder)
1188                CheckDisplayed/W=$winNameStr iBin_qxqy_ML_trim
1189               
1190                if(V_flag==0)
1191                        AppendToGraph/W=$winNameStr iBin_qxqy_ML_trim vs qBin_qxqy_ML_trim
1192                        AppendToGraph/W=$winNameStr iBin_qxqy_MR_trim vs qBin_qxqy_MR_trim
1193//                      AppendToGraph/W=$winNameStr iBin_qxqy_MT_trim vs qBin_qxqy_MT_trim
1194//                      AppendToGraph/W=$winNameStr iBin_qxqy_MB_trim vs qBin_qxqy_MB_trim
1195                        ErrorBars/T=0 iBin_qxqy_ML_trim Y,wave=(:eBin_qxqy_ML_trim,:eBin_qxqy_ML_trim)
1196                        ErrorBars/T=0 iBin_qxqy_MR_trim Y,wave=(:eBin_qxqy_MR_trim,:eBin_qxqy_MR_trim)
1197//                      ErrorBars/T=0 iBin_qxqy_MT_trim Y,wave=(:eBin_qxqy_MT_trim,:eBin_qxqy_MT_trim)
1198//                      ErrorBars/T=0 iBin_qxqy_MB_trim Y,wave=(:eBin_qxqy_MB_trim,:eBin_qxqy_MB_trim)
1199                       
1200                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_ML_trim)=4
1201                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MR_trim)=4
1202//                      ModifyGraph/W=$winNameStr mode(iBin_qxqy_MT_trim)=4
1203//                      ModifyGraph/W=$winNameStr mode(iBin_qxqy_MB_trim)=4
1204                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_ML_trim)=19
1205                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MR_trim)=19
1206//                      ModifyGraph/W=$winNameStr marker(iBin_qxqy_MT_trim)=19
1207//                      ModifyGraph/W=$winNameStr marker(iBin_qxqy_MB_trim)=19
1208                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_ML_trim)=(65535,0,0),rgb(iBin_qxqy_MR_trim)=(65535,0,0)
1209//                      ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MB_trim)=(1,16019,65535),rgb(iBin_qxqy_MT_trim)=(1,16019,65535)
1210                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_ML_trim)=3
1211                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MR_trim)=3
1212//                      ModifyGraph/W=$winNameStr msize(iBin_qxqy_MT_trim)=3
1213//                      ModifyGraph/W=$winNameStr msize(iBin_qxqy_MB_trim)=3
1214                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_ML_trim)={0,4},muloffset(iBin_qxqy_MR_trim)={0,8}
1215//                      ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_MB_trim)={0,2}
1216                        ModifyGraph/W=$winNameStr grid=1
1217                        ModifyGraph/W=$winNameStr log=1
1218                        ModifyGraph/W=$winNameStr mirror=2
1219                endif           
1220                       
1221        endif
1222       
1223        if(binType==5)
1224//// clear EVERYTHING
1225//              ii=0
1226//              do
1227//                      type = StringFromList(ii, midlist, ";")
1228//                      CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1229//                      if(V_flag==1)
1230//                              RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1231//                      endif
1232//                      ii+=1
1233//              while(ii<ItemsInList(midList))
1234
1235       
1236                SetDataFolder $(fullPathToFolder)
1237                CheckDisplayed/W=$winNameStr iBin_qxqy_MLRTB_trim
1238               
1239                if(V_flag==0)
1240                        AppendtoGraph/W=$winNameStr iBin_qxqy_MLRTB_trim vs qBin_qxqy_MLRTB_trim
1241                        ErrorBars/T=0 iBin_qxqy_MLRTB_trim Y,wave=(:eBin_qxqy_MLRTB_trim,:eBin_qxqy_MLRTB_trim)
1242                       
1243                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MLRTB_trim)=4
1244                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MLRTB_trim)=19
1245                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MLRTB_trim)=(65535,0,0)
1246                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MLRTB_trim)=3
1247                        ModifyGraph/W=$winNameStr grid=1
1248                        ModifyGraph/W=$winNameStr log=1
1249                        ModifyGraph/W=$winNameStr mirror=2
1250                        Label/W=$winNameStr left "Intensity (1/cm)"
1251                        Label/W=$winNameStr bottom "Q (1/A)"
1252                endif   
1253                       
1254        endif
1255       
1256        if(binType==6)
1257// clear EVERYTHING
1258//              ii=0
1259//              do
1260//                      type = StringFromList(ii, midlist, ";")
1261//                      CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1262//                      if(V_flag==1)
1263//                              RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1264//                      endif
1265//                      ii+=1
1266//              while(ii<ItemsInList(midList))
1267//             
1268
1269                SetDataFolder $(fullPathToFolder)
1270                CheckDisplayed/W=$winNameStr iBin_qxqy_MLR_trim
1271               
1272                if(V_flag==0)
1273                        AppendtoGraph/W=$winNameStr iBin_qxqy_MLR_trim vs qBin_qxqy_MLR_trim
1274                        ErrorBars/T=0 iBin_qxqy_MLR_trim Y,wave=(:eBin_qxqy_MLR_trim,:eBin_qxqy_MLR_trim)
1275                       
1276                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MLR_trim)=4
1277                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MLR_trim)=19
1278                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MLR_trim)=(65535,0,0)
1279                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MLR_trim)=3
1280//                      ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_MLR_trim)={0,2}
1281                        ModifyGraph/W=$winNameStr grid=1
1282                        ModifyGraph/W=$winNameStr log=1
1283                        ModifyGraph/W=$winNameStr mirror=2
1284                        Label/W=$winNameStr left "Intensity (1/cm)"
1285                        Label/W=$winNameStr bottom "Q (1/A)"
1286                endif   
1287                       
1288        endif   
1289       
1290        if(binType==7)
1291// clear EVERYTHING
1292//              ii=0
1293//              do
1294//                      type = StringFromList(ii, midlist, ";")
1295//                      CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1296//                      if(V_flag==1)
1297//                              RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1298//                      endif
1299//                      ii+=1
1300//              while(ii<ItemsInList(midList))
1301//             
1302
1303                SetDataFolder $(fullPathToFolder)
1304                CheckDisplayed/W=$winNameStr iBin_qxqy_MLR_trim
1305               
1306                if(V_flag==0)
1307                        AppendtoGraph/W=$winNameStr iBin_qxqy_MLR_trim vs qBin_qxqy_MLR_trim
1308                        ErrorBars/T=0 iBin_qxqy_MLR_trim Y,wave=(:eBin_qxqy_MLR_trim,:eBin_qxqy_MLR_trim)
1309                       
1310                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MLR_trim)=4
1311                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MLR_trim)=19
1312                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MLR_trim)=(65535,0,0)
1313                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MLR_trim)=3
1314//                      ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_MLR_trim)={0,2}
1315                        ModifyGraph/W=$winNameStr grid=1
1316                        ModifyGraph/W=$winNameStr log=1
1317                        ModifyGraph/W=$winNameStr mirror=2
1318                        Label/W=$winNameStr left "Intensity (1/cm)"
1319                        Label/W=$winNameStr bottom "Q (1/A)"
1320                endif   
1321                       
1322        endif   
1323               
1324        SetDataFolder root:
1325End
1326
1327
1328
1329
1330//
1331// x- need to set binType
1332// x- currently  hard-wired == 1
1333// x- error bars on the data
1334//
1335Proc V_Front_IQ_Graph_trim(fullPathToFolder,binType,winNameStr)
1336        String fullPathToFolder
1337        Variable binType
1338        String winNameStr
1339
1340
1341        String frontList = "FL;FR;FT;FB;FLR;FTB;FLRTB;"
1342        String type
1343        Variable ii
1344        SetDataFolder $(fullPathToFolder)
1345
1346// clear EVERYTHING
1347        ClearIQIfDisplayed_AllFldr("FLRTB_trim",winNameStr)
1348       
1349        ClearIQIfDisplayed_AllFldr("FLR_trim",winNameStr)
1350        ClearIQIfDisplayed_AllFldr("FTB_trim",winNameStr)
1351
1352        ClearIQIfDisplayed_AllFldr("FT_trim",winNameStr)       
1353        ClearIQIfDisplayed_AllFldr("FL_trim",winNameStr)       
1354        ClearIQIfDisplayed_AllFldr("FR_trim",winNameStr)       
1355        ClearIQIfDisplayed_AllFldr("FB_trim",winNameStr)
1356               
1357        if(binType==1)
1358                               
1359                SetDataFolder $(fullPathToFolder)
1360                CheckDisplayed/W=$winNameStr iBin_qxqy_FL_trim
1361               
1362                if(V_flag==0)
1363                        AppendtoGraph/W=$winNameStr iBin_qxqy_FL_trim vs qBin_qxqy_FL_trim
1364                        AppendToGraph/W=$winNameStr iBin_qxqy_FR_trim vs qBin_qxqy_FR_trim
1365                        AppendToGraph/W=$winNameStr iBin_qxqy_FT_trim vs qBin_qxqy_FT_trim
1366                        AppendToGraph/W=$winNameStr iBin_qxqy_FB_trim vs qBin_qxqy_FB_trim
1367                        ErrorBars/T=0 iBin_qxqy_FL_trim Y,wave=(:eBin_qxqy_FL_trim,:eBin_qxqy_FL_trim)
1368                        ErrorBars/T=0 iBin_qxqy_FR_trim Y,wave=(:eBin_qxqy_FR_trim,:eBin_qxqy_FR_trim)
1369                        ErrorBars/T=0 iBin_qxqy_FT_trim Y,wave=(:eBin_qxqy_FT_trim,:eBin_qxqy_FT_trim)
1370                        ErrorBars/T=0 iBin_qxqy_FB_trim Y,wave=(:eBin_qxqy_FB_trim,:eBin_qxqy_FB_trim)
1371
1372                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FL_trim)=4
1373                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FR_trim)=4
1374                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FT_trim)=4
1375                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FB_trim)=4
1376                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FL_trim)=19
1377                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FR_trim)=19
1378                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FT_trim)=19
1379                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FB_trim)=19
1380                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FL_trim)=(39321,26208,1),rgb(iBin_qxqy_FB_trim)=(2,39321,1),rgb(iBin_qxqy_FR_trim)=(39321,26208,1),rgb(iBin_qxqy_FT_trim)=(2,39321,1)
1381                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FL_trim)=3
1382                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FR_trim)=3
1383                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FT_trim)=3
1384                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FB_trim)=3
1385                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FL_trim)={0,4},muloffset(iBin_qxqy_FB_trim)={0,2},muloffset(iBin_qxqy_FR_trim)={0,8}
1386                        ModifyGraph/W=$winNameStr grid=1
1387                        ModifyGraph/W=$winNameStr log=1
1388                        ModifyGraph/W=$winNameStr mirror=2
1389                        Label/W=$winNameStr left "Intensity (1/cm)"
1390                        Label/W=$winNameStr bottom "Q (1/A)"
1391                endif           
1392        endif
1393       
1394        if(binType==2)
1395
1396                SetDataFolder $(fullPathToFolder)
1397                CheckDisplayed/W=$winNameStr iBin_qxqy_FLR_trim
1398               
1399                if(V_flag==0)
1400                        AppendtoGraph/W=$winNameStr iBin_qxqy_FLR_trim vs qBin_qxqy_FLR_trim
1401                        AppendToGraph/W=$winNameStr iBin_qxqy_FTB_trim vs qBin_qxqy_FTB_trim
1402                        ErrorBars/T=0 iBin_qxqy_FLR_trim Y,wave=(:eBin_qxqy_FLR_trim,:eBin_qxqy_FLR_trim)
1403                        ErrorBars/T=0 iBin_qxqy_FTB_trim Y,wave=(:eBin_qxqy_FTB_trim,:eBin_qxqy_FTB_trim)
1404
1405                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FLR_trim)=4
1406                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FTB_trim)=4
1407                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FLR_trim)=19
1408                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FTB_trim)=19
1409                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FLR_trim)=(39321,26208,1),rgb(iBin_qxqy_FTB_trim)=(2,39321,1)
1410                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FLR_trim)=3
1411                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FTB_trim)=3
1412                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FLR_trim)={0,2}
1413                        ModifyGraph/W=$winNameStr grid=1
1414                        ModifyGraph/W=$winNameStr log=1
1415                        ModifyGraph/W=$winNameStr mirror=2
1416//                      Label/W=$winNameStr left "Intensity (1/cm)"
1417//                      Label/W=$winNameStr bottom "Q (1/A)"
1418                endif   
1419                       
1420        endif
1421       
1422        if(binType==3)
1423       
1424                SetDataFolder $(fullPathToFolder)
1425                CheckDisplayed/W=$winNameStr iBin_qxqy_FLRTB_trim
1426               
1427                if(V_flag==0)
1428                        AppendtoGraph/W=$winNameStr iBin_qxqy_FLRTB_trim vs qBin_qxqy_FLRTB_trim
1429                        ErrorBars/T=0 iBin_qxqy_FLRTB_trim Y,wave=(:eBin_qxqy_FLRTB_trim,:eBin_qxqy_FLRTB_trim)
1430
1431                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FLRTB_trim)=4
1432                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FLRTB_trim)=19
1433                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FLRTB_trim)=(39321,26208,1)
1434                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FLRTB_trim)=3
1435                        ModifyGraph/W=$winNameStr grid=1
1436                        ModifyGraph/W=$winNameStr log=1
1437                        ModifyGraph/W=$winNameStr mirror=2
1438                        Label/W=$winNameStr left "Intensity (1/cm)"
1439                        Label/W=$winNameStr bottom "Q (1/A)"
1440                endif   
1441                       
1442        endif
1443
1444        if(binType==4)          // slit aperture binning - MT, ML, MR, MB are averaged
1445               
1446                SetDataFolder $(fullPathToFolder)
1447                CheckDisplayed/W=$winNameStr iBin_qxqy_FL_trim
1448               
1449                if(V_flag==0)
1450                        AppendtoGraph/W=$winNameStr iBin_qxqy_FL_trim vs qBin_qxqy_FL_trim
1451                        AppendToGraph/W=$winNameStr iBin_qxqy_FR_trim vs qBin_qxqy_FR_trim
1452//                      AppendToGraph/W=$winNameStr iBin_qxqy_FT_trim vs qBin_qxqy_FT_trim
1453//                      AppendToGraph/W=$winNameStr iBin_qxqy_FB_trim vs qBin_qxqy_FB_trim
1454                        ErrorBars/T=0 iBin_qxqy_FL_trim Y,wave=(:eBin_qxqy_FL_trim,:eBin_qxqy_FL_trim)
1455                        ErrorBars/T=0 iBin_qxqy_FR_trim Y,wave=(:eBin_qxqy_FR_trim,:eBin_qxqy_FR_trim)
1456//                      ErrorBars/T=0 iBin_qxqy_FT_trim Y,wave=(:eBin_qxqy_FT_trim,:eBin_qxqy_FT_trim)
1457//                      ErrorBars/T=0 iBin_qxqy_FB_trim Y,wave=(:eBin_qxqy_FB_trim,:eBin_qxqy_FB_trim)
1458                       
1459                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FL_trim)=4
1460                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FR_trim)=4
1461//                      ModifyGraph/W=$winNameStr mode(iBin_qxqy_FT_trim)=4
1462//                      ModifyGraph/W=$winNameStr mode(iBin_qxqy_FB_trim)=4
1463                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FL_trim)=19
1464                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FR_trim)=19
1465//                      ModifyGraph/W=$winNameStr marker(iBin_qxqy_FT_trim)=19
1466//                      ModifyGraph/W=$winNameStr marker(iBin_qxqy_FB_trim)=19
1467                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FL_trim)=(39321,26208,1),rgb(iBin_qxqy_FR_trim)=(39321,26208,1)
1468//                      ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FB_trim)=(2,39321,1),rgb(iBin_qxqy_FT_trim)=(2,39321,1)
1469                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FL_trim)=3
1470                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FR_trim)=3
1471//                      ModifyGraph/W=$winNameStr msize(iBin_qxqy_FT_trim)=3
1472//                      ModifyGraph/W=$winNameStr msize(iBin_qxqy_FB_trim)=3
1473                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FL_trim)={0,4},muloffset(iBin_qxqy_FR_trim)={0,8}
1474//                      ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FB_trim)={0,2}
1475                        ModifyGraph/W=$winNameStr grid=1
1476                        ModifyGraph/W=$winNameStr log=1
1477                        ModifyGraph/W=$winNameStr mirror=2
1478                endif           
1479                       
1480        endif
1481
1482
1483        if(binType==5)
1484
1485                SetDataFolder $(fullPathToFolder)
1486                CheckDisplayed/W=$winNameStr iBin_qxqy_FLR_trim
1487               
1488                if(V_flag==0)
1489                        AppendtoGraph/W=$winNameStr iBin_qxqy_FLR_trim vs qBin_qxqy_FLR_trim
1490                        AppendToGraph/W=$winNameStr iBin_qxqy_FTB_trim vs qBin_qxqy_FTB_trim
1491                        ErrorBars/T=0 iBin_qxqy_FLR_trim Y,wave=(:eBin_qxqy_FLR_trim,:eBin_qxqy_FLR_trim)
1492                        ErrorBars/T=0 iBin_qxqy_FTB_trim Y,wave=(:eBin_qxqy_FTB_trim,:eBin_qxqy_FTB_trim)
1493
1494                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FLR_trim)=4
1495                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FTB_trim)=4
1496                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FLR_trim)=19
1497                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FTB_trim)=19
1498                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FLR_trim)=(39321,26208,1),rgb(iBin_qxqy_FTB_trim)=(2,39321,1)
1499                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FLR_trim)=3
1500                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FTB_trim)=3
1501                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FLR_trim)={0,2}
1502                        ModifyGraph/W=$winNameStr grid=1
1503                        ModifyGraph/W=$winNameStr log=1
1504                        ModifyGraph/W=$winNameStr mirror=2
1505//                      Label/W=$winNameStr left "Intensity (1/cm)"
1506//                      Label/W=$winNameStr bottom "Q (1/A)"
1507                endif   
1508                       
1509        endif
1510
1511        if(binType==6) 
1512       
1513                SetDataFolder $(fullPathToFolder)
1514                CheckDisplayed/W=$winNameStr iBin_qxqy_FLRTB_trim
1515               
1516                if(V_flag==0)
1517                        AppendtoGraph/W=$winNameStr iBin_qxqy_FLRTB_trim vs qBin_qxqy_FLRTB_trim
1518                        ErrorBars/T=0 iBin_qxqy_FLRTB_trim Y,wave=(:eBin_qxqy_FLRTB_trim,:eBin_qxqy_FLRTB_trim)
1519
1520
1521                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FLRTB_trim)=4
1522                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FLRTB_trim)=19
1523                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FLRTB_trim)=3
1524                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FLRTB_trim)=(39321,26208,1)
1525                        ModifyGraph/W=$winNameStr grid=1
1526                        ModifyGraph/W=$winNameStr log=1
1527                        ModifyGraph/W=$winNameStr mirror=2
1528                        Label/W=$winNameStr left "Intensity (1/cm)"
1529                        Label/W=$winNameStr bottom "Q (1/A)"
1530                endif   
1531                       
1532        endif
1533       
1534        if(binType==7)
1535
1536                SetDataFolder $(fullPathToFolder)
1537                CheckDisplayed/W=$winNameStr iBin_qxqy_FLR_trim
1538               
1539                if(V_flag==0)
1540                        AppendtoGraph/W=$winNameStr iBin_qxqy_FLR_trim vs qBin_qxqy_FLR_trim
1541                        AppendToGraph/W=$winNameStr iBin_qxqy_FTB_trim vs qBin_qxqy_FTB_trim
1542                        ErrorBars/T=0 iBin_qxqy_FLR_trim Y,wave=(:eBin_qxqy_FLR_trim,:eBin_qxqy_FLR_trim)
1543                        ErrorBars/T=0 iBin_qxqy_FTB_trim Y,wave=(:eBin_qxqy_FTB_trim,:eBin_qxqy_FTB_trim)
1544
1545                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FLR_trim)=4
1546                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FTB_trim)=4
1547                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FLR_trim)=19
1548                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FTB_trim)=19
1549                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FLR_trim)=3
1550                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FTB_trim)=3
1551                       
1552                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FLR_trim)=(39321,26208,1),rgb(iBin_qxqy_FTB_trim)=(2,39321,1)
1553                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FLR_trim)={0,2}
1554                        ModifyGraph/W=$winNameStr grid=1
1555                        ModifyGraph/W=$winNameStr log=1
1556                        ModifyGraph/W=$winNameStr mirror=2
1557//                      Label/W=$winNameStr left "Intensity (1/cm)"
1558//                      Label/W=$winNameStr bottom "Q (1/A)"
1559                endif   
1560                       
1561        endif   
1562        SetDataFolder root:
1563End
1564
Note: See TracBrowser for help on using the repository browser.