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

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

added procedures to compare files to see if they are from the same configuration, same wavelength, etc. so they can be properly chosen for transmission files, scattering files, and properly identified for the different resolution conditions.

Re-worked the logic of dispatching averaging, plotting, and saving in Execute_Protocol. Hopefully this will alow for easier dispatching for future conditions, including getting the correct resolution calculation.

File size: 54.5 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        variable binType = V_BinTypeStr2Num(popStr)
412        String collimationStr="pinhole"         //TODO: where do I get this information from ? does it matter here?
413        if(binType == 4)
414        // narrow slits
415                V_QBinAllPanels_Slit(type,binType)
416        else
417                V_QBinAllPanels_Circular(type,binType,collimationStr)
418        endif
419       
420
421        String str,winStr="V_1D_Data",workTypeStr
422        workTypeStr = "root:Packages:NIST:VSANS:"+type
423       
424        sprintf str,"(\"%s\",%d,\"%s\")",workTypeStr,V_BinTypeStr2Num(popStr),winStr
425
426        Execute ("V_Back_IQ_Graph"+str)
427        Execute ("V_Middle_IQ_Graph"+str)
428        Execute ("V_Front_IQ_Graph"+str)
429
430       
431        return(0)       
432End
433
434Function V_GetBinningPopMode()
435
436        Variable binType
437       
438        if(WinType("V_1D_Data")==0)
439                DoAlert 0,"V_1D_Data window is not open, called from V_GetBinningPopMode()"
440                return(0)
441        endif
442       
443        ControlInfo/W=V_1D_Data popup0
444        binType = V_BinTypeStr2Num(S_Value)
445       
446        return(binType)
447end
448
449//
450// duplicated from Middle_IQ_Graph from VCALC
451// but plotted in a standalone graph window and not the VCALC subwindow
452//
453// V_1D_Data
454//
455//
456// x- need to set binType
457// x- currently  hard-wired == 1
458//
459// input "fullPathToFolder" is the data type and defines the folder,
460// i.e. "root:Packages:NIST:VSANS:"+"SAM"
461//
462Proc V_Middle_IQ_Graph(fullPathToFolder,binType,winNameStr)
463        String fullPathToFolder
464        Variable binType
465        String winNameStr
466
467//      binType = V_GetBinningPopMode()
468        SetDataFolder $(fullPathToFolder)
469
470// clear EVERYTHING
471        ClearIQIfDisplayed_AllFldr("MLRTB",winNameStr)
472        ClearIQIfDisplayed_AllFldr("MLR",winNameStr)
473        ClearIQIfDisplayed_AllFldr("MTB",winNameStr)            //this returns to root:
474        ClearIQIfDisplayed_AllFldr("MT",winNameStr)     
475        ClearIQIfDisplayed_AllFldr("ML",winNameStr)     
476        ClearIQIfDisplayed_AllFldr("MR",winNameStr)     
477        ClearIQIfDisplayed_AllFldr("MB",winNameStr)             
478
479
480// then replace the traces as needed, depending on the binType
481
482        if(binType==1)
483       
484                SetDataFolder $(fullPathToFolder)
485                CheckDisplayed/W=$winNameStr iBin_qxqy_ML
486               
487                if(V_flag==0)
488                        AppendtoGraph/W=$winNameStr iBin_qxqy_ML vs qBin_qxqy_ML
489                        AppendToGraph/W=$winNameStr iBin_qxqy_MR vs qBin_qxqy_MR
490                        AppendToGraph/W=$winNameStr iBin_qxqy_MT vs qBin_qxqy_MT
491                        AppendToGraph/W=$winNameStr iBin_qxqy_MB vs qBin_qxqy_MB
492                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_ML Y,wave=(:eBin_qxqy_ML,:eBin_qxqy_ML)
493                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_MR Y,wave=(:eBin_qxqy_MR,:eBin_qxqy_MR)
494                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_MT Y,wave=(:eBin_qxqy_MT,:eBin_qxqy_MT)
495                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_MB Y,wave=(:eBin_qxqy_MB,:eBin_qxqy_MB)
496                       
497                        ModifyGraph/W=$winNameStr mode=4
498                        ModifyGraph/W=$winNameStr marker=19
499                        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)
500                        ModifyGraph/W=$winNameStr msize=2
501                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_ML)={0,4},muloffset(iBin_qxqy_MB)={0,2},muloffset(iBin_qxqy_MR)={0,8}
502                        ModifyGraph/W=$winNameStr grid=1
503                        ModifyGraph/W=$winNameStr log=1
504                        ModifyGraph/W=$winNameStr mirror=2
505                endif           
506        endif
507       
508        if(binType==2)
509                SetDataFolder $(fullPathToFolder)
510                CheckDisplayed/W=$winNameStr iBin_qxqy_MLR
511               
512                if(V_flag==0)
513                        AppendtoGraph/W=$winNameStr iBin_qxqy_MLR vs qBin_qxqy_MLR
514                        AppendToGraph/W=$winNameStr iBin_qxqy_MTB vs qBin_qxqy_MTB
515
516                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_MTB Y,wave=(:eBin_qxqy_MTB,:eBin_qxqy_MTB)
517                       
518                        ModifyGraph/W=$winNameStr mode=4
519                        ModifyGraph/W=$winNameStr marker=19
520                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MLR)=(65535,0,0),rgb(iBin_qxqy_MTB)=(1,16019,65535)
521                        ModifyGraph/W=$winNameStr msize=2
522                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_MLR)={0,2}
523                        ModifyGraph/W=$winNameStr grid=1
524                        ModifyGraph/W=$winNameStr log=1
525                        ModifyGraph/W=$winNameStr mirror=2
526                        Label/W=$winNameStr left "Intensity (1/cm)"
527                        Label/W=$winNameStr bottom "Q (1/A)"
528                endif   
529                       
530        endif
531       
532        if(binType==3)
533
534                SetDataFolder $(fullPathToFolder)
535                CheckDisplayed/W=$winNameStr iBin_qxqy_MLRTB
536               
537                if(V_flag==0)
538                        AppendtoGraph/W=$winNameStr iBin_qxqy_MLRTB vs qBin_qxqy_MLRTB
539                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_MLRTB Y,wave=(:eBin_qxqy_MLRTB,:eBin_qxqy_MLRTB)
540                       
541                        ModifyGraph/W=$winNameStr mode=4
542                        ModifyGraph/W=$winNameStr marker=19
543                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MLRTB)=(65535,0,0)
544                        ModifyGraph/W=$winNameStr msize=2
545                        ModifyGraph/W=$winNameStr grid=1
546                        ModifyGraph/W=$winNameStr log=1
547                        ModifyGraph/W=$winNameStr mirror=2
548                        Label/W=$winNameStr left "Intensity (1/cm)"
549                        Label/W=$winNameStr bottom "Q (1/A)"
550                endif   
551                       
552        endif
553
554        if(binType==4)          // slit aperture binning - MT, ML, MR, MB are averaged
555
556                SetDataFolder $(fullPathToFolder)
557                CheckDisplayed/W=$winNameStr iBin_qxqy_ML
558               
559                if(V_flag==0)
560                        AppendToGraph/W=$winNameStr iBin_qxqy_ML vs qBin_qxqy_ML
561                        AppendToGraph/W=$winNameStr iBin_qxqy_MR vs qBin_qxqy_MR
562//                      AppendToGraph/W=$winNameStr iBin_qxqy_MT vs qBin_qxqy_MT
563//                      AppendToGraph/W=$winNameStr iBin_qxqy_MB vs qBin_qxqy_MB
564                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_ML Y,wave=(:eBin_qxqy_ML,:eBin_qxqy_ML)
565                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_MR Y,wave=(:eBin_qxqy_MR,:eBin_qxqy_MR)
566//                      ErrorBars/T=0 iBin_qxqy_MT Y,wave=(:eBin_qxqy_MT,:eBin_qxqy_MT)
567//                      ErrorBars/T=0 iBin_qxqy_MB Y,wave=(:eBin_qxqy_MB,:eBin_qxqy_MB)
568                       
569                        ModifyGraph/W=$winNameStr mode=4
570                        ModifyGraph/W=$winNameStr marker=19
571                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_ML)=(65535,0,0),rgb(iBin_qxqy_MR)=(65535,0,0)
572//                      ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MB)=(1,16019,65535),rgb(iBin_qxqy_MT)=(1,16019,65535)
573                        ModifyGraph/W=$winNameStr msize=2
574                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_ML)={0,4},muloffset(iBin_qxqy_MR)={0,8}
575//                      ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_MB)={0,2}
576                        ModifyGraph/W=$winNameStr grid=1
577                        ModifyGraph/W=$winNameStr log=1
578                        ModifyGraph/W=$winNameStr mirror=2
579                endif           
580                       
581        endif
582
583        if(binType==5)
584
585                SetDataFolder $(fullPathToFolder)
586                CheckDisplayed/W=$winNameStr iBin_qxqy_MLRTB
587               
588                if(V_flag==0)
589                        AppendtoGraph/W=$winNameStr iBin_qxqy_MLRTB vs qBin_qxqy_MLRTB
590                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_MLRTB Y,wave=(:eBin_qxqy_MLRTB,:eBin_qxqy_MLRTB)
591                       
592                        ModifyGraph/W=$winNameStr mode=4
593                        ModifyGraph/W=$winNameStr marker=19
594                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MLRTB)=(65535,0,0)
595                        ModifyGraph/W=$winNameStr msize=2
596                        ModifyGraph/W=$winNameStr grid=1
597                        ModifyGraph/W=$winNameStr log=1
598                        ModifyGraph/W=$winNameStr mirror=2
599                        Label/W=$winNameStr left "Intensity (1/cm)"
600                        Label/W=$winNameStr bottom "Q (1/A)"
601                endif   
602                       
603        endif
604
605        if(binType==6)
606
607                SetDataFolder $(fullPathToFolder)
608                CheckDisplayed/W=$winNameStr iBin_qxqy_MLR
609               
610                if(V_flag==0)
611                        AppendtoGraph/W=$winNameStr iBin_qxqy_MLR vs qBin_qxqy_MLR
612                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_MLR Y,wave=(:eBin_qxqy_MLR,:eBin_qxqy_MLR)
613                       
614                        ModifyGraph/W=$winNameStr mode=4
615                        ModifyGraph/W=$winNameStr marker=19
616                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MLR)=(65535,0,0)
617                        ModifyGraph/W=$winNameStr msize=2
618                        ModifyGraph/W=$winNameStr grid=1
619                        ModifyGraph/W=$winNameStr log=1
620                        ModifyGraph/W=$winNameStr mirror=2
621                        Label/W=$winNameStr left "Intensity (1/cm)"
622                        Label/W=$winNameStr bottom "Q (1/A)"
623                endif   
624                       
625        endif
626
627        if(binType==7)
628
629                SetDataFolder $(fullPathToFolder)
630                CheckDisplayed/W=$winNameStr iBin_qxqy_MLR
631               
632                if(V_flag==0)
633                        AppendtoGraph/W=$winNameStr iBin_qxqy_MLR vs qBin_qxqy_MLR
634                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_MLR Y,wave=(:eBin_qxqy_MLR,:eBin_qxqy_MLR)
635                       
636                        ModifyGraph/W=$winNameStr mode=4
637                        ModifyGraph/W=$winNameStr marker=19
638                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MLR)=(65535,0,0)
639                        ModifyGraph/W=$winNameStr msize=2
640                        ModifyGraph/W=$winNameStr grid=1
641                        ModifyGraph/W=$winNameStr log=1
642                        ModifyGraph/W=$winNameStr mirror=2
643                        Label/W=$winNameStr left "Intensity (1/cm)"
644                        Label/W=$winNameStr bottom "Q (1/A)"
645                endif   
646                       
647        endif
648       
649        SetDataFolder root:
650End
651
652//
653// duplicated from Middle_IQ_Graph from VCALC
654// but plotted in a standalone graph window and not the VCALC subwindow
655//
656// V_1D_Data
657//
658//
659// x- need to set binType
660// x- currently  hard-wired == 1
661// x- error bars on the data
662//
663Proc V_Front_IQ_Graph(fullPathToFolder,binType,winNameStr)
664        String fullPathToFolder
665        Variable binType
666        String winNameStr
667
668
669//      binType = V_GetBinningPopMode()
670        SetDataFolder $(fullPathToFolder)
671
672// clear EVERYTHING
673        ClearIQIfDisplayed_AllFldr("FLRTB",winNameStr)
674       
675        ClearIQIfDisplayed_AllFldr("FLR",winNameStr)
676        ClearIQIfDisplayed_AllFldr("FTB",winNameStr)
677
678        ClearIQIfDisplayed_AllFldr("FT",winNameStr)     
679        ClearIQIfDisplayed_AllFldr("FL",winNameStr)     
680        ClearIQIfDisplayed_AllFldr("FR",winNameStr)     
681        ClearIQIfDisplayed_AllFldr("FB",winNameStr)
682               
683        if(binType==1)
684
685                SetDataFolder $(fullPathToFolder)
686                CheckDisplayed/W=$winNameStr iBin_qxqy_FL
687               
688                if(V_flag==0)
689                        AppendtoGraph/W=$winNameStr iBin_qxqy_FL vs qBin_qxqy_FL
690                        AppendToGraph/W=$winNameStr iBin_qxqy_FR vs qBin_qxqy_FR
691                        AppendToGraph/W=$winNameStr iBin_qxqy_FT vs qBin_qxqy_FT
692                        AppendToGraph/W=$winNameStr iBin_qxqy_FB vs qBin_qxqy_FB
693                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FL Y,wave=(:eBin_qxqy_FL,:eBin_qxqy_FL)
694                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FR Y,wave=(:eBin_qxqy_FR,:eBin_qxqy_FR)
695                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FT Y,wave=(:eBin_qxqy_FT,:eBin_qxqy_FT)
696                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FB Y,wave=(:eBin_qxqy_FB,:eBin_qxqy_FB)
697
698                        ModifyGraph/W=$winNameStr mode=4
699                        ModifyGraph/W=$winNameStr marker=19
700                        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)
701                        ModifyGraph/W=$winNameStr msize=2
702                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FL)={0,4},muloffset(iBin_qxqy_FB)={0,2},muloffset(iBin_qxqy_FR)={0,8}
703                        ModifyGraph/W=$winNameStr grid=1
704                        ModifyGraph/W=$winNameStr log=1
705                        ModifyGraph/W=$winNameStr mirror=2
706                        Label/W=$winNameStr left "Intensity (1/cm)"
707                        Label/W=$winNameStr bottom "Q (1/A)"
708                endif           
709        endif
710       
711        if(binType==2)
712
713                SetDataFolder $(fullPathToFolder)
714                CheckDisplayed/W=$winNameStr iBin_qxqy_FLR
715               
716                if(V_flag==0)
717                        AppendtoGraph/W=$winNameStr iBin_qxqy_FLR vs qBin_qxqy_FLR
718                        AppendToGraph/W=$winNameStr iBin_qxqy_FTB vs qBin_qxqy_FTB
719                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FLR Y,wave=(:eBin_qxqy_FLR,:eBin_qxqy_FLR)
720                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FTB Y,wave=(:eBin_qxqy_FTB,:eBin_qxqy_FTB)
721
722                        ModifyGraph/W=$winNameStr mode=4
723                        ModifyGraph/W=$winNameStr marker=19
724                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FLR)=(39321,26208,1),rgb(iBin_qxqy_FTB)=(2,39321,1)
725                        ModifyGraph/W=$winNameStr msize=2
726                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FLR)={0,2}
727                        ModifyGraph/W=$winNameStr grid=1
728                        ModifyGraph/W=$winNameStr log=1
729                        ModifyGraph/W=$winNameStr mirror=2
730//                      Label/W=$winNameStr left "Intensity (1/cm)"
731//                      Label/W=$winNameStr bottom "Q (1/A)"
732                endif   
733                       
734        endif
735       
736        if(binType==3) 
737       
738                SetDataFolder $(fullPathToFolder)
739                CheckDisplayed/W=$winNameStr iBin_qxqy_FLRTB
740               
741                if(V_flag==0)
742                        AppendtoGraph/W=$winNameStr iBin_qxqy_FLRTB vs qBin_qxqy_FLRTB
743                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FLRTB Y,wave=(:eBin_qxqy_FLRTB,:eBin_qxqy_FLRTB)
744
745                        ModifyGraph/W=$winNameStr mode=4
746                        ModifyGraph/W=$winNameStr marker=19
747                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FLRTB)=(39321,26208,1)
748                        ModifyGraph/W=$winNameStr msize=2
749                        ModifyGraph/W=$winNameStr grid=1
750                        ModifyGraph/W=$winNameStr log=1
751                        ModifyGraph/W=$winNameStr mirror=2
752                        Label/W=$winNameStr left "Intensity (1/cm)"
753                        Label/W=$winNameStr bottom "Q (1/A)"
754                endif   
755                       
756        endif
757
758        if(binType==4)          // slit aperture binning - MT, ML, MR, MB are averaged
759               
760                SetDataFolder $(fullPathToFolder)
761                CheckDisplayed/W=$winNameStr iBin_qxqy_FL
762               
763                if(V_flag==0)
764                        AppendtoGraph/W=$winNameStr iBin_qxqy_FL vs qBin_qxqy_FL
765                        AppendToGraph/W=$winNameStr iBin_qxqy_FR vs qBin_qxqy_FR
766//                      AppendToGraph/W=$winNameStr iBin_qxqy_FT vs qBin_qxqy_FT
767//                      AppendToGraph/W=$winNameStr iBin_qxqy_FB vs qBin_qxqy_FB
768                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FL Y,wave=(:eBin_qxqy_FL,:eBin_qxqy_FL)
769                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FR Y,wave=(:eBin_qxqy_FR,:eBin_qxqy_FR)
770//                      ErrorBars/T=0 iBin_qxqy_FT Y,wave=(:eBin_qxqy_FT,:eBin_qxqy_FT)
771//                      ErrorBars/T=0 iBin_qxqy_FB Y,wave=(:eBin_qxqy_FB,:eBin_qxqy_FB)
772                       
773                        ModifyGraph/W=$winNameStr mode=4
774                        ModifyGraph/W=$winNameStr marker=19
775                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FL)=(39321,26208,1),rgb(iBin_qxqy_FR)=(39321,26208,1)
776//                      ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FB)=(2,39321,1),rgb(iBin_qxqy_FT)=(2,39321,1)
777                        ModifyGraph/W=$winNameStr msize=2
778                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FL)={0,4},muloffset(iBin_qxqy_FR)={0,8}
779//                      ModifyGraph/W=$winNameStr,muloffset(iBin_qxqy_FB)={0,2}
780                        ModifyGraph/W=$winNameStr grid=1
781                        ModifyGraph/W=$winNameStr log=1
782                        ModifyGraph/W=$winNameStr mirror=2
783                endif           
784                       
785        endif
786
787        if(binType==5)
788
789                SetDataFolder $(fullPathToFolder)
790                CheckDisplayed/W=$winNameStr iBin_qxqy_FLR
791               
792                if(V_flag==0)
793                        AppendtoGraph/W=$winNameStr iBin_qxqy_FLR vs qBin_qxqy_FLR
794                        AppendToGraph/W=$winNameStr iBin_qxqy_FTB vs qBin_qxqy_FTB
795                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FLR Y,wave=(:eBin_qxqy_FLR,:eBin_qxqy_FLR)
796                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FTB Y,wave=(:eBin_qxqy_FTB,:eBin_qxqy_FTB)
797
798                        ModifyGraph/W=$winNameStr mode=4
799                        ModifyGraph/W=$winNameStr marker=19
800                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FLR)=(39321,26208,1),rgb(iBin_qxqy_FTB)=(2,39321,1)
801                        ModifyGraph/W=$winNameStr msize=2
802                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FLR)={0,2}
803                        ModifyGraph/W=$winNameStr grid=1
804                        ModifyGraph/W=$winNameStr log=1
805                        ModifyGraph/W=$winNameStr mirror=2
806//                      Label/W=$winNameStr left "Intensity (1/cm)"
807//                      Label/W=$winNameStr bottom "Q (1/A)"
808                endif   
809                       
810        endif
811
812        if(binType==6) 
813       
814                SetDataFolder $(fullPathToFolder)
815                CheckDisplayed/W=$winNameStr iBin_qxqy_FLRTB
816               
817                if(V_flag==0)
818                        AppendtoGraph/W=$winNameStr iBin_qxqy_FLRTB vs qBin_qxqy_FLRTB
819                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FLRTB Y,wave=(:eBin_qxqy_FLRTB,:eBin_qxqy_FLRTB)
820
821                        ModifyGraph/W=$winNameStr mode=4
822                        ModifyGraph/W=$winNameStr marker=19
823                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FLRTB)=(39321,26208,1)
824                        ModifyGraph/W=$winNameStr msize=2
825                        ModifyGraph/W=$winNameStr grid=1
826                        ModifyGraph/W=$winNameStr log=1
827                        ModifyGraph/W=$winNameStr mirror=2
828                        Label/W=$winNameStr left "Intensity (1/cm)"
829                        Label/W=$winNameStr bottom "Q (1/A)"
830                endif   
831                       
832        endif
833       
834        if(binType==7)
835
836                SetDataFolder $(fullPathToFolder)
837                CheckDisplayed/W=$winNameStr iBin_qxqy_FLR
838               
839                if(V_flag==0)
840                        AppendtoGraph/W=$winNameStr iBin_qxqy_FLR vs qBin_qxqy_FLR
841                        AppendToGraph/W=$winNameStr iBin_qxqy_FTB vs qBin_qxqy_FTB
842                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FLR Y,wave=(:eBin_qxqy_FLR,:eBin_qxqy_FLR)
843                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FTB Y,wave=(:eBin_qxqy_FTB,:eBin_qxqy_FTB)
844
845                        ModifyGraph/W=$winNameStr mode=4
846                        ModifyGraph/W=$winNameStr marker=19
847                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FLR)=(39321,26208,1),rgb(iBin_qxqy_FTB)=(2,39321,1)
848                        ModifyGraph/W=$winNameStr msize=2
849                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FLR)={0,2}
850                        ModifyGraph/W=$winNameStr grid=1
851                        ModifyGraph/W=$winNameStr log=1
852                        ModifyGraph/W=$winNameStr mirror=2
853//                      Label/W=$winNameStr left "Intensity (1/cm)"
854//                      Label/W=$winNameStr bottom "Q (1/A)"
855                endif   
856                       
857        endif
858
859       
860        SetDataFolder root:
861End
862
863
864//
865// x- need to set binType
866// x- currently  hard-wired == 1
867// x- error bars on the data
868//
869//      type = the data folder
870// binType = numerical index of the bin type (1->4)
871//  one;two;four;slit
872// winNameStr = the name of the target window
873//
874////////////to plot the back panel I(q)
875Proc V_Back_IQ_Graph(fullPathToFolder,binType,winNameStr)
876        String fullPathToFolder
877        Variable binType
878        String winNameStr
879       
880//      SetDataFolder root:Packages:NIST:VSANS:VCALC:entry:instrument:detector_B
881
882//      Variable binType
883
884//      binType = V_GetBinningPopMode()
885       
886        ClearIQIfDisplayed_AllFldr("B",winNameStr)
887
888// skip everything if back detector is ignored
889        if(!root:Packages:NIST:VSANS:Globals:gIgnoreDetB)
890       
891                SetDataFolder $(fullPathToFolder)       
892       
893                if(binType==1 || binType==2 || binType==3)
894               
895                        SetDataFolder $(fullPathToFolder)       
896                        CheckDisplayed/W=$winNameStr iBin_qxqy_B
897                       
898                        if(V_flag==0)
899                                AppendtoGraph/W=$winNameStr iBin_qxqy_B vs qBin_qxqy_B
900                                ErrorBars/T=0/W=$winNameStr iBin_qxqy_B Y,wave=(:eBin_qxqy_B,:eBin_qxqy_B)
901                                ModifyGraph/W=$winNameStr mode(iBin_qxqy_B)=4
902                                ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B)=(1,52428,52428)
903                                ModifyGraph/W=$winNameStr grid=1
904                                ModifyGraph/W=$winNameStr log=1
905                                ModifyGraph/W=$winNameStr mirror=2
906                                ModifyGraph/W=$winNameStr marker(iBin_qxqy_B)=19,msize(iBin_qxqy_B)=2
907        //                      ModifyGraph/W=$winNameStr msize(iBin_qxqy_B)=3,textMarker(iBin_qxqy_B)={"B","default",1,0,5,0.00,0.00}
908                        endif
909                       
910                endif
911       
912                //nothing different here since there is ony a single detector to display, but for the future...
913                if(binType==4)
914               
915                        SetDataFolder $(fullPathToFolder)                               // ClearIQIfDisplayed_AllFldr() resets to root:
916                        CheckDisplayed/W=$winNameStr iBin_qxqy_B
917                       
918                        if(V_flag==0)
919                                AppendtoGraph/W=$winNameStr iBin_qxqy_B vs qBin_qxqy_B
920                                ErrorBars/T=0/W=$winNameStr iBin_qxqy_B Y,wave=(:eBin_qxqy_B,:eBin_qxqy_B)
921                                ModifyGraph/W=$winNameStr mode(iBin_qxqy_B)=4
922                                ModifyGraph/W=$winNameStr marker(iBin_qxqy_B)=19
923                                ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B)=(1,52428,52428)
924                                ModifyGraph/W=$winNameStr msize(iBin_qxqy_B)=2
925                                ModifyGraph/W=$winNameStr grid=1
926                                ModifyGraph/W=$winNameStr log=1
927                                ModifyGraph/W=$winNameStr mirror=2
928                        endif
929                endif
930       
931                if(binType==5 || binType==6 || binType==7)
932               
933                        SetDataFolder $(fullPathToFolder)       
934                        CheckDisplayed/W=$winNameStr iBin_qxqy_B
935                       
936                        if(V_flag==0)
937                                AppendtoGraph/W=$winNameStr iBin_qxqy_B vs qBin_qxqy_B
938                                ErrorBars/T=0/W=$winNameStr iBin_qxqy_B Y,wave=(:eBin_qxqy_B,:eBin_qxqy_B)
939                                ModifyGraph/W=$winNameStr mode(iBin_qxqy_B)=4
940                                ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B)=(1,52428,52428)
941                                ModifyGraph/W=$winNameStr grid=1
942                                ModifyGraph/W=$winNameStr log=1
943                                ModifyGraph/W=$winNameStr mirror=2
944                                ModifyGraph/W=$winNameStr marker(iBin_qxqy_B)=19,msize(iBin_qxqy_B)=2
945        //                      ModifyGraph/W=$winNameStr msize(iBin_qxqy_B)=3,textMarker(iBin_qxqy_B)={"B","default",1,0,5,0.00,0.00}
946                        endif
947                       
948                endif
949
950        endif           // if (don't ignore back detector)
951       
952        SetDataFolder root:
953End
954
955
956
957//      type = the data folder
958// binType = numerical index of the bin type (1->4)
959//  one;two;four;slit
960// winNameStr = the name of the target window
961//
962////////////to plot the back panel I(q)
963Proc V_Back_IQ_Graph_trim(fullPathToFolder,binType,winNameStr)
964        String fullPathToFolder
965        Variable binType
966        String winNameStr
967       
968//      SetDataFolder root:Packages:NIST:VSANS:VCALC:entry:instrument:detector_B
969
970//      Variable binType
971
972//      binType = V_GetBinningPopMode()
973        ClearIQIfDisplayed_AllFldr("B_trim",winNameStr)
974
975// skip everything if back detector is ignored
976        if(!root:Packages:NIST:VSANS:Globals:gIgnoreDetB)
977       
978                SetDataFolder $(fullPathToFolder)       
979       
980                if(binType==1 || binType==2 || binType==3)
981               
982                        SetDataFolder $(fullPathToFolder)       
983                        CheckDisplayed/W=$winNameStr iBin_qxqy_B_trim
984                       
985                        if(V_flag==0)
986                                AppendtoGraph/W=$winNameStr iBin_qxqy_B_trim vs qBin_qxqy_B_trim
987                                ErrorBars/T=0/W=$winNameStr iBin_qxqy_B_trim Y,wave=(:eBin_qxqy_B_trim,:eBin_qxqy_B_trim)
988                                ModifyGraph/W=$winNameStr mode(iBin_qxqy_B_trim)=4
989                                ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B_trim)=(1,52428,52428)
990                                ModifyGraph/W=$winNameStr grid=1
991                                ModifyGraph/W=$winNameStr log=1
992                                ModifyGraph/W=$winNameStr mirror=2
993                                ModifyGraph/W=$winNameStr marker(iBin_qxqy_B_trim)=19,msize(iBin_qxqy_B_trim)=3
994        //                      ModifyGraph/W=$winNameStr msize(iBin_qxqy_B_trim)=3,textMarker(iBin_qxqy_B_trim)={"B","default",1,0,5,0.00,0.00}
995       
996                        endif
997                       
998                endif
999       
1000                //nothing different here since there is ony a single detector to display, but for the future...
1001                if(binType==4)
1002               
1003                        SetDataFolder $(fullPathToFolder)       
1004                        CheckDisplayed/W=$winNameStr iBin_qxqy_B_trim
1005                       
1006                        if(V_flag==0)
1007                                AppendtoGraph/W=$winNameStr iBin_qxqy_B_trim vs qBin_qxqy_B_trim
1008                                ErrorBars/T=0/W=$winNameStr iBin_qxqy_B_trim Y,wave=(:eBin_qxqy_B_trim,:eBin_qxqy_B_trim)
1009                                ModifyGraph/W=$winNameStr mode(iBin_qxqy_B_trim)=4
1010                                ModifyGraph/W=$winNameStr marker(iBin_qxqy_B_trim)=19
1011                                ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B_trim)=(1,52428,52428)
1012                                ModifyGraph/W=$winNameStr msize(iBin_qxqy_B_trim)=3
1013                                ModifyGraph/W=$winNameStr grid=1
1014                                ModifyGraph/W=$winNameStr log=1
1015                                ModifyGraph/W=$winNameStr mirror=2
1016                        endif
1017                endif
1018       
1019                if(binType==5 || binType==6 || binType==7)
1020               
1021                SetDataFolder $(fullPathToFolder)       
1022                                CheckDisplayed/W=$winNameStr iBin_qxqy_B_trim
1023                       
1024                        if(V_flag==0)
1025                                AppendtoGraph/W=$winNameStr iBin_qxqy_B_trim vs qBin_qxqy_B_trim
1026                                ErrorBars/T=0/W=$winNameStr iBin_qxqy_B_trim Y,wave=(:eBin_qxqy_B_trim,:eBin_qxqy_B_trim)
1027                                ModifyGraph/W=$winNameStr mode(iBin_qxqy_B_trim)=4
1028                                ModifyGraph/W=$winNameStr marker(iBin_qxqy_B_trim)=19
1029                                ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B_trim)=(1,52428,52428)
1030                                ModifyGraph/W=$winNameStr msize(iBin_qxqy_B_trim)=3
1031                                ModifyGraph/W=$winNameStr grid=1
1032                                ModifyGraph/W=$winNameStr log=1
1033                                ModifyGraph/W=$winNameStr mirror=2
1034                        endif
1035                endif
1036       
1037        endif // if (don't ignore back detector)
1038       
1039        SetDataFolder root:
1040End
1041
1042
1043//
1044// x- need to set binType
1045// x- currently  hard-wired == 1
1046//
1047// input "fullPathToFolder" is the data type and defines the folder,
1048// i.e. "root:Packages:NIST:VSANS:"+"SAM"
1049//
1050Proc V_Middle_IQ_Graph_trim(fullPathToFolder,binType,winNameStr)
1051        String fullPathToFolder
1052        Variable binType
1053        String winNameStr
1054
1055//      binType = V_GetBinningPopMode()
1056        SetDataFolder $(fullPathToFolder)
1057
1058//      String midList = "ML;MR;MT;MB;MLR;MTB;MLRTB;"
1059        String type
1060        Variable ii
1061
1062// clear EVERYTHING
1063        ClearIQIfDisplayed_AllFldr("MLRTB_trim",winNameStr)
1064        ClearIQIfDisplayed_AllFldr("MLR_trim",winNameStr)
1065        ClearIQIfDisplayed_AllFldr("MTB_trim",winNameStr)               //this returns to root:
1066        ClearIQIfDisplayed_AllFldr("MT_trim",winNameStr)       
1067        ClearIQIfDisplayed_AllFldr("ML_trim",winNameStr)       
1068        ClearIQIfDisplayed_AllFldr("MR_trim",winNameStr)       
1069        ClearIQIfDisplayed_AllFldr("MB_trim",winNameStr)               
1070
1071        if(binType==1)
1072//              ii=0
1073//              do
1074//                      type = StringFromList(ii, midlist, ";")
1075//                      CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1076//                      if(V_flag==1)
1077//                              RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1078//                      endif
1079//                      ii+=1
1080//              while(ii<ItemsInList(midList))
1081       
1082                       
1083                SetDataFolder $(fullPathToFolder)
1084                CheckDisplayed/W=$winNameStr iBin_qxqy_ML_trim
1085               
1086                if(V_flag==0)
1087                        AppendtoGraph/W=$winNameStr iBin_qxqy_ML_trim vs qBin_qxqy_ML_trim
1088                        AppendToGraph/W=$winNameStr iBin_qxqy_MR_trim vs qBin_qxqy_MR_trim
1089                        AppendToGraph/W=$winNameStr iBin_qxqy_MT_trim vs qBin_qxqy_MT_trim
1090                        AppendToGraph/W=$winNameStr iBin_qxqy_MB_trim vs qBin_qxqy_MB_trim
1091                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_ML_trim Y,wave=(:eBin_qxqy_ML_trim,:eBin_qxqy_ML_trim)
1092                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_MR_trim Y,wave=(:eBin_qxqy_MR_trim,:eBin_qxqy_MR_trim)
1093                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_MT_trim Y,wave=(:eBin_qxqy_MT_trim,:eBin_qxqy_MT_trim)
1094                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_MB_trim Y,wave=(:eBin_qxqy_MB_trim,:eBin_qxqy_MB_trim)
1095                       
1096                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_ML_trim)=4
1097                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MR_trim)=4
1098                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MT_trim)=4
1099                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MB_trim)=4
1100                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_ML_trim)=19
1101                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MR_trim)=19
1102                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MT_trim)=19
1103                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MB_trim)=19
1104                        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)
1105                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_ML_trim)=3
1106                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MR_trim)=3
1107                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MT_trim)=3
1108                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MB_trim)=3
1109                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_ML_trim)={0,4},muloffset(iBin_qxqy_MB_trim)={0,2},muloffset(iBin_qxqy_MR_trim)={0,8}
1110                        ModifyGraph/W=$winNameStr grid=1
1111                        ModifyGraph/W=$winNameStr log=1
1112                        ModifyGraph/W=$winNameStr mirror=2
1113                endif           
1114        endif
1115       
1116        if(binType==2)
1117// clear EVERYTHING
1118//              ii=0
1119//              do
1120//                      type = StringFromList(ii, midlist, ";")
1121//                      CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1122//                      if(V_flag==1)
1123//                              RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1124//                      endif
1125//                      ii+=1
1126//              while(ii<ItemsInList(midList))
1127//             
1128
1129                SetDataFolder $(fullPathToFolder)
1130                CheckDisplayed/W=$winNameStr iBin_qxqy_MLR_trim
1131               
1132                if(V_flag==0)
1133                        AppendtoGraph/W=$winNameStr iBin_qxqy_MLR_trim vs qBin_qxqy_MLR_trim
1134                        AppendToGraph/W=$winNameStr iBin_qxqy_MTB_trim vs qBin_qxqy_MTB_trim
1135                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_MLR_trim Y,wave=(:eBin_qxqy_MLR_trim,:eBin_qxqy_MLR_trim)
1136                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_MTB_trim Y,wave=(:eBin_qxqy_MTB_trim,:eBin_qxqy_MTB_trim)
1137                       
1138                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MLR_trim)=4
1139                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MTB_trim)=4
1140                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MLR_trim)=19
1141                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MTB_trim)=19
1142                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MLR_trim)=(65535,0,0),rgb(iBin_qxqy_MTB_trim)=(1,16019,65535)
1143                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MLR_trim)=3
1144                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MTB_trim)=3
1145                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_MLR_trim)={0,2}
1146                        ModifyGraph/W=$winNameStr grid=1
1147                        ModifyGraph/W=$winNameStr log=1
1148                        ModifyGraph/W=$winNameStr mirror=2
1149                        Label/W=$winNameStr left "Intensity (1/cm)"
1150                        Label/W=$winNameStr bottom "Q (1/A)"
1151                endif   
1152                       
1153        endif
1154       
1155        if(binType==3)
1156//// clear EVERYTHING
1157//              ii=0
1158//              do
1159//                      type = StringFromList(ii, midlist, ";")
1160//                      CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1161//                      if(V_flag==1)
1162//                              RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1163//                      endif
1164//                      ii+=1
1165//              while(ii<ItemsInList(midList))
1166
1167       
1168                SetDataFolder $(fullPathToFolder)
1169                CheckDisplayed/W=$winNameStr iBin_qxqy_MLRTB_trim
1170               
1171                if(V_flag==0)
1172                        AppendtoGraph/W=$winNameStr iBin_qxqy_MLRTB_trim vs qBin_qxqy_MLRTB_trim
1173                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_MLRTB_trim Y,wave=(:eBin_qxqy_MLRTB_trim,:eBin_qxqy_MLRTB_trim)
1174                       
1175                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MLRTB_trim)=4
1176                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MLRTB_trim)=19
1177                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MLRTB_trim)=(65535,0,0)
1178                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MLRTB_trim)=3
1179                        ModifyGraph/W=$winNameStr grid=1
1180                        ModifyGraph/W=$winNameStr log=1
1181                        ModifyGraph/W=$winNameStr mirror=2
1182                        Label/W=$winNameStr left "Intensity (1/cm)"
1183                        Label/W=$winNameStr bottom "Q (1/A)"
1184                endif   
1185                       
1186        endif
1187
1188        if(binType==4)          // slit aperture binning - MT, ML, MR, MB are averaged
1189//// clear EVERYTHING
1190//              ii=0
1191//              do
1192//                      type = StringFromList(ii, midlist, ";")
1193//                      CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1194//                      if(V_flag==1)
1195//                              RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1196//                      endif
1197//                      ii+=1
1198//              while(ii<ItemsInList(midList))
1199               
1200
1201               
1202                SetDataFolder $(fullPathToFolder)
1203                CheckDisplayed/W=$winNameStr iBin_qxqy_ML_trim
1204               
1205                if(V_flag==0)
1206                        AppendToGraph/W=$winNameStr iBin_qxqy_ML_trim vs qBin_qxqy_ML_trim
1207                        AppendToGraph/W=$winNameStr iBin_qxqy_MR_trim vs qBin_qxqy_MR_trim
1208//                      AppendToGraph/W=$winNameStr iBin_qxqy_MT_trim vs qBin_qxqy_MT_trim
1209//                      AppendToGraph/W=$winNameStr iBin_qxqy_MB_trim vs qBin_qxqy_MB_trim
1210                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_ML_trim Y,wave=(:eBin_qxqy_ML_trim,:eBin_qxqy_ML_trim)
1211                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_MR_trim Y,wave=(:eBin_qxqy_MR_trim,:eBin_qxqy_MR_trim)
1212//                      ErrorBars/T=0 iBin_qxqy_MT_trim Y,wave=(:eBin_qxqy_MT_trim,:eBin_qxqy_MT_trim)
1213//                      ErrorBars/T=0 iBin_qxqy_MB_trim Y,wave=(:eBin_qxqy_MB_trim,:eBin_qxqy_MB_trim)
1214                       
1215                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_ML_trim)=4
1216                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MR_trim)=4
1217//                      ModifyGraph/W=$winNameStr mode(iBin_qxqy_MT_trim)=4
1218//                      ModifyGraph/W=$winNameStr mode(iBin_qxqy_MB_trim)=4
1219                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_ML_trim)=19
1220                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MR_trim)=19
1221//                      ModifyGraph/W=$winNameStr marker(iBin_qxqy_MT_trim)=19
1222//                      ModifyGraph/W=$winNameStr marker(iBin_qxqy_MB_trim)=19
1223                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_ML_trim)=(65535,0,0),rgb(iBin_qxqy_MR_trim)=(65535,0,0)
1224//                      ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MB_trim)=(1,16019,65535),rgb(iBin_qxqy_MT_trim)=(1,16019,65535)
1225                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_ML_trim)=3
1226                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MR_trim)=3
1227//                      ModifyGraph/W=$winNameStr msize(iBin_qxqy_MT_trim)=3
1228//                      ModifyGraph/W=$winNameStr msize(iBin_qxqy_MB_trim)=3
1229                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_ML_trim)={0,4},muloffset(iBin_qxqy_MR_trim)={0,8}
1230//                      ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_MB_trim)={0,2}
1231                        ModifyGraph/W=$winNameStr grid=1
1232                        ModifyGraph/W=$winNameStr log=1
1233                        ModifyGraph/W=$winNameStr mirror=2
1234                endif           
1235                       
1236        endif
1237       
1238        if(binType==5)
1239//// clear EVERYTHING
1240//              ii=0
1241//              do
1242//                      type = StringFromList(ii, midlist, ";")
1243//                      CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1244//                      if(V_flag==1)
1245//                              RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1246//                      endif
1247//                      ii+=1
1248//              while(ii<ItemsInList(midList))
1249
1250       
1251                SetDataFolder $(fullPathToFolder)
1252                CheckDisplayed/W=$winNameStr iBin_qxqy_MLRTB_trim
1253               
1254                if(V_flag==0)
1255                        AppendtoGraph/W=$winNameStr iBin_qxqy_MLRTB_trim vs qBin_qxqy_MLRTB_trim
1256                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_MLRTB_trim Y,wave=(:eBin_qxqy_MLRTB_trim,:eBin_qxqy_MLRTB_trim)
1257                       
1258                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MLRTB_trim)=4
1259                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MLRTB_trim)=19
1260                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MLRTB_trim)=(65535,0,0)
1261                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MLRTB_trim)=3
1262                        ModifyGraph/W=$winNameStr grid=1
1263                        ModifyGraph/W=$winNameStr log=1
1264                        ModifyGraph/W=$winNameStr mirror=2
1265                        Label/W=$winNameStr left "Intensity (1/cm)"
1266                        Label/W=$winNameStr bottom "Q (1/A)"
1267                endif   
1268                       
1269        endif
1270       
1271        if(binType==6)
1272// clear EVERYTHING
1273//              ii=0
1274//              do
1275//                      type = StringFromList(ii, midlist, ";")
1276//                      CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1277//                      if(V_flag==1)
1278//                              RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1279//                      endif
1280//                      ii+=1
1281//              while(ii<ItemsInList(midList))
1282//             
1283
1284                SetDataFolder $(fullPathToFolder)
1285                CheckDisplayed/W=$winNameStr iBin_qxqy_MLR_trim
1286               
1287                if(V_flag==0)
1288                        AppendtoGraph/W=$winNameStr iBin_qxqy_MLR_trim vs qBin_qxqy_MLR_trim
1289                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_MLR_trim Y,wave=(:eBin_qxqy_MLR_trim,:eBin_qxqy_MLR_trim)
1290                       
1291                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MLR_trim)=4
1292                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MLR_trim)=19
1293                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MLR_trim)=(65535,0,0)
1294                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MLR_trim)=3
1295//                      ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_MLR_trim)={0,2}
1296                        ModifyGraph/W=$winNameStr grid=1
1297                        ModifyGraph/W=$winNameStr log=1
1298                        ModifyGraph/W=$winNameStr mirror=2
1299                        Label/W=$winNameStr left "Intensity (1/cm)"
1300                        Label/W=$winNameStr bottom "Q (1/A)"
1301                endif   
1302                       
1303        endif   
1304       
1305        if(binType==7)
1306// clear EVERYTHING
1307//              ii=0
1308//              do
1309//                      type = StringFromList(ii, midlist, ";")
1310//                      CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1311//                      if(V_flag==1)
1312//                              RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1313//                      endif
1314//                      ii+=1
1315//              while(ii<ItemsInList(midList))
1316//             
1317
1318                SetDataFolder $(fullPathToFolder)
1319                CheckDisplayed/W=$winNameStr iBin_qxqy_MLR_trim
1320               
1321                if(V_flag==0)
1322                        AppendtoGraph/W=$winNameStr iBin_qxqy_MLR_trim vs qBin_qxqy_MLR_trim
1323                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_MLR_trim Y,wave=(:eBin_qxqy_MLR_trim,:eBin_qxqy_MLR_trim)
1324                       
1325                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MLR_trim)=4
1326                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MLR_trim)=19
1327                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MLR_trim)=(65535,0,0)
1328                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MLR_trim)=3
1329//                      ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_MLR_trim)={0,2}
1330                        ModifyGraph/W=$winNameStr grid=1
1331                        ModifyGraph/W=$winNameStr log=1
1332                        ModifyGraph/W=$winNameStr mirror=2
1333                        Label/W=$winNameStr left "Intensity (1/cm)"
1334                        Label/W=$winNameStr bottom "Q (1/A)"
1335                endif   
1336                       
1337        endif   
1338               
1339        SetDataFolder root:
1340End
1341
1342
1343
1344
1345//
1346// x- need to set binType
1347// x- currently  hard-wired == 1
1348// x- error bars on the data
1349//
1350Proc V_Front_IQ_Graph_trim(fullPathToFolder,binType,winNameStr)
1351        String fullPathToFolder
1352        Variable binType
1353        String winNameStr
1354
1355
1356        String frontList = "FL;FR;FT;FB;FLR;FTB;FLRTB;"
1357        String type
1358        Variable ii
1359        SetDataFolder $(fullPathToFolder)
1360
1361// clear EVERYTHING
1362        ClearIQIfDisplayed_AllFldr("FLRTB_trim",winNameStr)
1363       
1364        ClearIQIfDisplayed_AllFldr("FLR_trim",winNameStr)
1365        ClearIQIfDisplayed_AllFldr("FTB_trim",winNameStr)
1366
1367        ClearIQIfDisplayed_AllFldr("FT_trim",winNameStr)       
1368        ClearIQIfDisplayed_AllFldr("FL_trim",winNameStr)       
1369        ClearIQIfDisplayed_AllFldr("FR_trim",winNameStr)       
1370        ClearIQIfDisplayed_AllFldr("FB_trim",winNameStr)
1371               
1372        if(binType==1)
1373                               
1374                SetDataFolder $(fullPathToFolder)
1375                CheckDisplayed/W=$winNameStr iBin_qxqy_FL_trim
1376               
1377                if(V_flag==0)
1378                        AppendtoGraph/W=$winNameStr iBin_qxqy_FL_trim vs qBin_qxqy_FL_trim
1379                        AppendToGraph/W=$winNameStr iBin_qxqy_FR_trim vs qBin_qxqy_FR_trim
1380                        AppendToGraph/W=$winNameStr iBin_qxqy_FT_trim vs qBin_qxqy_FT_trim
1381                        AppendToGraph/W=$winNameStr iBin_qxqy_FB_trim vs qBin_qxqy_FB_trim
1382                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FL_trim Y,wave=(:eBin_qxqy_FL_trim,:eBin_qxqy_FL_trim)
1383                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FR_trim Y,wave=(:eBin_qxqy_FR_trim,:eBin_qxqy_FR_trim)
1384                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FT_trim Y,wave=(:eBin_qxqy_FT_trim,:eBin_qxqy_FT_trim)
1385                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FB_trim Y,wave=(:eBin_qxqy_FB_trim,:eBin_qxqy_FB_trim)
1386
1387                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FL_trim)=4
1388                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FR_trim)=4
1389                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FT_trim)=4
1390                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FB_trim)=4
1391                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FL_trim)=19
1392                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FR_trim)=19
1393                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FT_trim)=19
1394                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FB_trim)=19
1395                        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)
1396                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FL_trim)=3
1397                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FR_trim)=3
1398                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FT_trim)=3
1399                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FB_trim)=3
1400                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FL_trim)={0,4},muloffset(iBin_qxqy_FB_trim)={0,2},muloffset(iBin_qxqy_FR_trim)={0,8}
1401                        ModifyGraph/W=$winNameStr grid=1
1402                        ModifyGraph/W=$winNameStr log=1
1403                        ModifyGraph/W=$winNameStr mirror=2
1404                        Label/W=$winNameStr left "Intensity (1/cm)"
1405                        Label/W=$winNameStr bottom "Q (1/A)"
1406                endif           
1407        endif
1408       
1409        if(binType==2)
1410
1411                SetDataFolder $(fullPathToFolder)
1412                CheckDisplayed/W=$winNameStr iBin_qxqy_FLR_trim
1413               
1414                if(V_flag==0)
1415                        AppendtoGraph/W=$winNameStr iBin_qxqy_FLR_trim vs qBin_qxqy_FLR_trim
1416                        AppendToGraph/W=$winNameStr iBin_qxqy_FTB_trim vs qBin_qxqy_FTB_trim
1417                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FLR_trim Y,wave=(:eBin_qxqy_FLR_trim,:eBin_qxqy_FLR_trim)
1418                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FTB_trim Y,wave=(:eBin_qxqy_FTB_trim,:eBin_qxqy_FTB_trim)
1419
1420                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FLR_trim)=4
1421                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FTB_trim)=4
1422                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FLR_trim)=19
1423                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FTB_trim)=19
1424                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FLR_trim)=(39321,26208,1),rgb(iBin_qxqy_FTB_trim)=(2,39321,1)
1425                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FLR_trim)=3
1426                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FTB_trim)=3
1427                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FLR_trim)={0,2}
1428                        ModifyGraph/W=$winNameStr grid=1
1429                        ModifyGraph/W=$winNameStr log=1
1430                        ModifyGraph/W=$winNameStr mirror=2
1431//                      Label/W=$winNameStr left "Intensity (1/cm)"
1432//                      Label/W=$winNameStr bottom "Q (1/A)"
1433                endif   
1434                       
1435        endif
1436       
1437        if(binType==3)
1438       
1439                SetDataFolder $(fullPathToFolder)
1440                CheckDisplayed/W=$winNameStr iBin_qxqy_FLRTB_trim
1441               
1442                if(V_flag==0)
1443                        AppendtoGraph/W=$winNameStr iBin_qxqy_FLRTB_trim vs qBin_qxqy_FLRTB_trim
1444                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FLRTB_trim Y,wave=(:eBin_qxqy_FLRTB_trim,:eBin_qxqy_FLRTB_trim)
1445
1446                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FLRTB_trim)=4
1447                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FLRTB_trim)=19
1448                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FLRTB_trim)=(39321,26208,1)
1449                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FLRTB_trim)=3
1450                        ModifyGraph/W=$winNameStr grid=1
1451                        ModifyGraph/W=$winNameStr log=1
1452                        ModifyGraph/W=$winNameStr mirror=2
1453                        Label/W=$winNameStr left "Intensity (1/cm)"
1454                        Label/W=$winNameStr bottom "Q (1/A)"
1455                endif   
1456                       
1457        endif
1458
1459        if(binType==4)          // slit aperture binning - MT, ML, MR, MB are averaged
1460               
1461                SetDataFolder $(fullPathToFolder)
1462                CheckDisplayed/W=$winNameStr iBin_qxqy_FL_trim
1463               
1464                if(V_flag==0)
1465                        AppendtoGraph/W=$winNameStr iBin_qxqy_FL_trim vs qBin_qxqy_FL_trim
1466                        AppendToGraph/W=$winNameStr iBin_qxqy_FR_trim vs qBin_qxqy_FR_trim
1467//                      AppendToGraph/W=$winNameStr iBin_qxqy_FT_trim vs qBin_qxqy_FT_trim
1468//                      AppendToGraph/W=$winNameStr iBin_qxqy_FB_trim vs qBin_qxqy_FB_trim
1469                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FL_trim Y,wave=(:eBin_qxqy_FL_trim,:eBin_qxqy_FL_trim)
1470                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FR_trim Y,wave=(:eBin_qxqy_FR_trim,:eBin_qxqy_FR_trim)
1471//                      ErrorBars/T=0 iBin_qxqy_FT_trim Y,wave=(:eBin_qxqy_FT_trim,:eBin_qxqy_FT_trim)
1472//                      ErrorBars/T=0 iBin_qxqy_FB_trim Y,wave=(:eBin_qxqy_FB_trim,:eBin_qxqy_FB_trim)
1473                       
1474                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FL_trim)=4
1475                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FR_trim)=4
1476//                      ModifyGraph/W=$winNameStr mode(iBin_qxqy_FT_trim)=4
1477//                      ModifyGraph/W=$winNameStr mode(iBin_qxqy_FB_trim)=4
1478                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FL_trim)=19
1479                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FR_trim)=19
1480//                      ModifyGraph/W=$winNameStr marker(iBin_qxqy_FT_trim)=19
1481//                      ModifyGraph/W=$winNameStr marker(iBin_qxqy_FB_trim)=19
1482                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FL_trim)=(39321,26208,1),rgb(iBin_qxqy_FR_trim)=(39321,26208,1)
1483//                      ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FB_trim)=(2,39321,1),rgb(iBin_qxqy_FT_trim)=(2,39321,1)
1484                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FL_trim)=3
1485                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FR_trim)=3
1486//                      ModifyGraph/W=$winNameStr msize(iBin_qxqy_FT_trim)=3
1487//                      ModifyGraph/W=$winNameStr msize(iBin_qxqy_FB_trim)=3
1488                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FL_trim)={0,4},muloffset(iBin_qxqy_FR_trim)={0,8}
1489//                      ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FB_trim)={0,2}
1490                        ModifyGraph/W=$winNameStr grid=1
1491                        ModifyGraph/W=$winNameStr log=1
1492                        ModifyGraph/W=$winNameStr mirror=2
1493                endif           
1494                       
1495        endif
1496
1497
1498        if(binType==5)
1499
1500                SetDataFolder $(fullPathToFolder)
1501                CheckDisplayed/W=$winNameStr iBin_qxqy_FLR_trim
1502               
1503                if(V_flag==0)
1504                        AppendtoGraph/W=$winNameStr iBin_qxqy_FLR_trim vs qBin_qxqy_FLR_trim
1505                        AppendToGraph/W=$winNameStr iBin_qxqy_FTB_trim vs qBin_qxqy_FTB_trim
1506                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FLR_trim Y,wave=(:eBin_qxqy_FLR_trim,:eBin_qxqy_FLR_trim)
1507                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FTB_trim Y,wave=(:eBin_qxqy_FTB_trim,:eBin_qxqy_FTB_trim)
1508
1509                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FLR_trim)=4
1510                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FTB_trim)=4
1511                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FLR_trim)=19
1512                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FTB_trim)=19
1513                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FLR_trim)=(39321,26208,1),rgb(iBin_qxqy_FTB_trim)=(2,39321,1)
1514                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FLR_trim)=3
1515                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FTB_trim)=3
1516                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FLR_trim)={0,2}
1517                        ModifyGraph/W=$winNameStr grid=1
1518                        ModifyGraph/W=$winNameStr log=1
1519                        ModifyGraph/W=$winNameStr mirror=2
1520//                      Label/W=$winNameStr left "Intensity (1/cm)"
1521//                      Label/W=$winNameStr bottom "Q (1/A)"
1522                endif   
1523                       
1524        endif
1525
1526        if(binType==6) 
1527       
1528                SetDataFolder $(fullPathToFolder)
1529                CheckDisplayed/W=$winNameStr iBin_qxqy_FLRTB_trim
1530               
1531                if(V_flag==0)
1532                        AppendtoGraph/W=$winNameStr iBin_qxqy_FLRTB_trim vs qBin_qxqy_FLRTB_trim
1533                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FLRTB_trim Y,wave=(:eBin_qxqy_FLRTB_trim,:eBin_qxqy_FLRTB_trim)
1534
1535
1536                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FLRTB_trim)=4
1537                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FLRTB_trim)=19
1538                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FLRTB_trim)=3
1539                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FLRTB_trim)=(39321,26208,1)
1540                        ModifyGraph/W=$winNameStr grid=1
1541                        ModifyGraph/W=$winNameStr log=1
1542                        ModifyGraph/W=$winNameStr mirror=2
1543                        Label/W=$winNameStr left "Intensity (1/cm)"
1544                        Label/W=$winNameStr bottom "Q (1/A)"
1545                endif   
1546                       
1547        endif
1548       
1549        if(binType==7)
1550
1551                SetDataFolder $(fullPathToFolder)
1552                CheckDisplayed/W=$winNameStr iBin_qxqy_FLR_trim
1553               
1554                if(V_flag==0)
1555                        AppendtoGraph/W=$winNameStr iBin_qxqy_FLR_trim vs qBin_qxqy_FLR_trim
1556                        AppendToGraph/W=$winNameStr iBin_qxqy_FTB_trim vs qBin_qxqy_FTB_trim
1557                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FLR_trim Y,wave=(:eBin_qxqy_FLR_trim,:eBin_qxqy_FLR_trim)
1558                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FTB_trim Y,wave=(:eBin_qxqy_FTB_trim,:eBin_qxqy_FTB_trim)
1559
1560                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FLR_trim)=4
1561                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FTB_trim)=4
1562                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FLR_trim)=19
1563                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FTB_trim)=19
1564                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FLR_trim)=3
1565                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FTB_trim)=3
1566                       
1567                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FLR_trim)=(39321,26208,1),rgb(iBin_qxqy_FTB_trim)=(2,39321,1)
1568                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FLR_trim)={0,2}
1569                        ModifyGraph/W=$winNameStr grid=1
1570                        ModifyGraph/W=$winNameStr log=1
1571                        ModifyGraph/W=$winNameStr mirror=2
1572//                      Label/W=$winNameStr left "Intensity (1/cm)"
1573//                      Label/W=$winNameStr bottom "Q (1/A)"
1574                endif   
1575                       
1576        endif   
1577        SetDataFolder root:
1578End
1579
Note: See TracBrowser for help on using the repository browser.