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

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

lots of changes here:
many little fixes to clean up TODO items and marke them DONE

changed the handling of the panel "gap" to split the gap evenly. Q-calculations have been re-verified with this change.

re-named the list of "bin Type" values, and added a few more choices. Streamlined how the averaging and plotting works with this list so that it can be more easily modified as different combinations of binning are envisioned. This resulted in a lot of excess code being cut out and replaced with cleaner logic. This change has also been verified to work as intended.

Attenuation is now always calculated from the table. The table also by (NEW) definition has values for the white beam (one waelength) and graphite (multiple possible wavelengths) where the wavelengths are artificially scaled (*1000) or *1e6) so that the interpolations can be done internally without the need for multiple attenuator tables.

File size: 47.1 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       
965
966        SetDataFolder $(fullPathToFolder)       
967
968        if(binType==1 || binType==2 || binType==3)
969       
970//              ClearIQIfDisplayed_AllFldr("B_trim",winNameStr)
971                CheckDisplayed/W=$winNameStr $("iBin_qxqy_B_trim")
972                if(V_flag==1)
973                        RemoveFromGraph/W=$winNameStr $("iBin_qxqy_B_trim")
974                endif
975                SetDataFolder $(fullPathToFolder)       
976                CheckDisplayed/W=$winNameStr iBin_qxqy_B_trim
977               
978                if(V_flag==0)
979                        AppendtoGraph/W=$winNameStr iBin_qxqy_B_trim vs qBin_qxqy_B_trim
980                        ErrorBars/T=0 iBin_qxqy_B_trim Y,wave=(:eBin_qxqy_B_trim,:eBin_qxqy_B_trim)
981                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_B_trim)=4
982                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B_trim)=(1,52428,52428)
983                        ModifyGraph/W=$winNameStr grid=1
984                        ModifyGraph/W=$winNameStr log=1
985                        ModifyGraph/W=$winNameStr mirror=2
986                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_B_trim)=19,msize(iBin_qxqy_B_trim)=3
987//                      ModifyGraph/W=$winNameStr msize(iBin_qxqy_B_trim)=3,textMarker(iBin_qxqy_B_trim)={"B","default",1,0,5,0.00,0.00}
988
989                endif
990               
991//              ClearIQIfDisplayed_AllFldr("B_trim")
992//              SetDataFolder $(fullPathToFolder)       
993//              CheckDisplayed/W=V_1D_Data iBin_qxqy_B_trim
994//             
995//              if(V_flag==0)
996//                      AppendtoGraph/W=V_1D_Data iBin_qxqy_B_trim vs qBin_qxqy_B_trim
997//                      ModifyGraph/W=V_1D_Data mode=4
998//                      ModifyGraph/W=V_1D_Data marker=19
999//                      ModifyGraph/W=V_1D_Data rgb(iBin_qxqy_B_trim)=(1,52428,52428)
1000//                      ModifyGraph/W=V_1D_Data msize=2
1001//                      ModifyGraph/W=V_1D_Data grid=1
1002//                      ModifyGraph/W=V_1D_Data log=1
1003//                      ModifyGraph/W=V_1D_Data mirror=2
1004//              endif
1005               
1006        endif
1007
1008        //nothing different here since there is ony a single detector to display, but for the future...
1009        if(binType==4)
1010       
1011//              ClearIQIfDisplayed_AllFldr("B_trim",winNameStr)
1012                CheckDisplayed/W=$winNameStr $("iBin_qxqy_B_trim")
1013                if(V_flag==1)
1014                        RemoveFromGraph/W=$winNameStr $("iBin_qxqy_B_trim")
1015                endif
1016                SetDataFolder $("root:Packages:NIST:VSANS:"+type)       
1017                CheckDisplayed/W=$winNameStr iBin_qxqy_B_trim
1018               
1019                if(V_flag==0)
1020                        AppendtoGraph/W=$winNameStr iBin_qxqy_B_trim vs qBin_qxqy_B_trim
1021                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_B_trim)=4
1022                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_B_trim)=19
1023                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B_trim)=(1,52428,52428)
1024                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_B_trim)=3
1025                        ModifyGraph/W=$winNameStr grid=1
1026                        ModifyGraph/W=$winNameStr log=1
1027                        ModifyGraph/W=$winNameStr mirror=2
1028                endif
1029        endif
1030
1031       
1032        SetDataFolder root:
1033End
1034
1035
1036//
1037// x- need to set binType
1038// x- currently  hard-wired == 1
1039//
1040// input "fullPathToFolder" is the data type and defines the folder,
1041// i.e. "root:Packages:NIST:VSANS:"+"SAM"
1042//
1043Proc V_Middle_IQ_Graph_trim(fullPathToFolder,binType,winNameStr)
1044        String fullPathToFolder
1045        Variable binType
1046        String winNameStr
1047
1048//      binType = V_GetBinningPopMode()
1049        SetDataFolder $(fullPathToFolder)
1050
1051        String midList = "ML;MR;MT;MB;MLR;MTB;MLRTB;"
1052        String type
1053        Variable ii
1054       
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       
1115
1116                SetDataFolder $(fullPathToFolder)
1117                CheckDisplayed/W=$winNameStr iBin_qxqy_MLR_trim
1118               
1119                if(V_flag==0)
1120                        AppendtoGraph/W=$winNameStr iBin_qxqy_MLR_trim vs qBin_qxqy_MLR_trim
1121                        AppendToGraph/W=$winNameStr iBin_qxqy_MTB_trim vs qBin_qxqy_MTB_trim
1122                        ErrorBars/T=0 iBin_qxqy_MLR_trim Y,wave=(:eBin_qxqy_MLR_trim,:eBin_qxqy_MLR_trim)
1123                        ErrorBars/T=0 iBin_qxqy_MTB_trim Y,wave=(:eBin_qxqy_MTB_trim,:eBin_qxqy_MTB_trim)
1124                       
1125                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MLR_trim)=4
1126                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MTB_trim)=4
1127                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MLR_trim)=19
1128                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MTB_trim)=19
1129                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MLR_trim)=(65535,0,0),rgb(iBin_qxqy_MTB_trim)=(1,16019,65535)
1130                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MLR_trim)=3
1131                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MTB_trim)=3
1132                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_MLR_trim)={0,2}
1133                        ModifyGraph/W=$winNameStr grid=1
1134                        ModifyGraph/W=$winNameStr log=1
1135                        ModifyGraph/W=$winNameStr mirror=2
1136                        Label/W=$winNameStr left "Intensity (1/cm)"
1137                        Label/W=$winNameStr bottom "Q (1/A)"
1138                endif   
1139                       
1140        endif
1141       
1142        if(binType==3)
1143// clear EVERYTHING
1144                ii=0
1145                do
1146                        type = StringFromList(ii, midlist, ";")
1147                        CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1148                        if(V_flag==1)
1149                                RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1150                        endif
1151                        ii+=1
1152                while(ii<ItemsInList(midList))
1153
1154       
1155                SetDataFolder $(fullPathToFolder)
1156                CheckDisplayed/W=$winNameStr iBin_qxqy_MLRTB_trim
1157               
1158                if(V_flag==0)
1159                        AppendtoGraph/W=$winNameStr iBin_qxqy_MLRTB_trim vs qBin_qxqy_MLRTB_trim
1160                        ErrorBars/T=0 iBin_qxqy_MLRTB_trim Y,wave=(:eBin_qxqy_MLRTB_trim,:eBin_qxqy_MLRTB_trim)
1161                       
1162                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MLRTB_trim)=4
1163                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MLRTB_trim)=19
1164                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MLRTB_trim)=(65535,0,0)
1165                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MLRTB_trim)=3
1166                        ModifyGraph/W=$winNameStr grid=1
1167                        ModifyGraph/W=$winNameStr log=1
1168                        ModifyGraph/W=$winNameStr mirror=2
1169                        Label/W=$winNameStr left "Intensity (1/cm)"
1170                        Label/W=$winNameStr bottom "Q (1/A)"
1171                endif   
1172                       
1173        endif
1174
1175        if(binType==4)          // slit aperture binning - MT, ML, MR, MB are averaged
1176// clear EVERYTHING
1177                ii=0
1178                do
1179                        type = StringFromList(ii, midlist, ";")
1180                        CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1181                        if(V_flag==1)
1182                                RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1183                        endif
1184                        ii+=1
1185                while(ii<ItemsInList(midList))
1186               
1187
1188               
1189                SetDataFolder $(fullPathToFolder)
1190                CheckDisplayed/W=$winNameStr iBin_qxqy_ML_trim
1191               
1192                if(V_flag==0)
1193                        AppendToGraph/W=$winNameStr iBin_qxqy_ML_trim vs qBin_qxqy_ML_trim
1194                        AppendToGraph/W=$winNameStr iBin_qxqy_MR_trim vs qBin_qxqy_MR_trim
1195                        AppendToGraph/W=$winNameStr iBin_qxqy_MT_trim vs qBin_qxqy_MT_trim
1196                        AppendToGraph/W=$winNameStr iBin_qxqy_MB_trim vs qBin_qxqy_MB_trim
1197                        ErrorBars/T=0 iBin_qxqy_ML_trim Y,wave=(:eBin_qxqy_ML_trim,:eBin_qxqy_ML_trim)
1198                        ErrorBars/T=0 iBin_qxqy_MR_trim Y,wave=(:eBin_qxqy_MR_trim,:eBin_qxqy_MR_trim)
1199                        ErrorBars/T=0 iBin_qxqy_MT_trim Y,wave=(:eBin_qxqy_MT_trim,:eBin_qxqy_MT_trim)
1200                        ErrorBars/T=0 iBin_qxqy_MB_trim Y,wave=(:eBin_qxqy_MB_trim,:eBin_qxqy_MB_trim)
1201                       
1202                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_ML_trim)=4
1203                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MR_trim)=4
1204                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MT_trim)=4
1205                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MB_trim)=4
1206                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_ML_trim)=19
1207                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MR_trim)=19
1208                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MT_trim)=19
1209                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MB_trim)=19
1210                        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)
1211                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_ML_trim)=3
1212                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MR_trim)=3
1213                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MT_trim)=3
1214                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MB_trim)=3
1215                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_ML_trim)={0,4},muloffset(iBin_qxqy_MB_trim)={0,2},muloffset(iBin_qxqy_MR_trim)={0,8}
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        SetDataFolder root:
1224End
1225
1226
1227
1228
1229//
1230// x- need to set binType
1231// x- currently  hard-wired == 1
1232// x- error bars on the data
1233//
1234Proc V_Front_IQ_Graph_trim(fullPathToFolder,binType,winNameStr)
1235        String fullPathToFolder
1236        Variable binType
1237        String winNameStr
1238
1239
1240        String frontList = "FL;FR;FT;FB;FLR;FTB;FLRTB;"
1241        String type
1242        Variable ii
1243//      binType = V_GetBinningPopMode()
1244        SetDataFolder $(fullPathToFolder)
1245
1246
1247               
1248        if(binType==1)
1249                ii=0
1250                do
1251                        type = StringFromList(ii, frontList, ";")
1252                        CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1253                        if(V_flag==1)
1254                                RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1255                        endif
1256                        ii+=1
1257                while(ii<ItemsInList(frontList))
1258               
1259
1260                               
1261                SetDataFolder $(fullPathToFolder)
1262                CheckDisplayed/W=$winNameStr iBin_qxqy_FL_trim
1263               
1264                if(V_flag==0)
1265                        AppendtoGraph/W=$winNameStr iBin_qxqy_FL_trim vs qBin_qxqy_FL_trim
1266                        AppendToGraph/W=$winNameStr iBin_qxqy_FR_trim vs qBin_qxqy_FR_trim
1267                        AppendToGraph/W=$winNameStr iBin_qxqy_FT_trim vs qBin_qxqy_FT_trim
1268                        AppendToGraph/W=$winNameStr iBin_qxqy_FB_trim vs qBin_qxqy_FB_trim
1269                        ErrorBars/T=0 iBin_qxqy_FL_trim Y,wave=(:eBin_qxqy_FL_trim,:eBin_qxqy_FL_trim)
1270                        ErrorBars/T=0 iBin_qxqy_FR_trim Y,wave=(:eBin_qxqy_FR_trim,:eBin_qxqy_FR_trim)
1271                        ErrorBars/T=0 iBin_qxqy_FT_trim Y,wave=(:eBin_qxqy_FT_trim,:eBin_qxqy_FT_trim)
1272                        ErrorBars/T=0 iBin_qxqy_FB_trim Y,wave=(:eBin_qxqy_FB_trim,:eBin_qxqy_FB_trim)
1273
1274                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FL_trim)=4
1275                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FR_trim)=4
1276                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FT_trim)=4
1277                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FB_trim)=4
1278                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FL_trim)=19
1279                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FR_trim)=19
1280                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FT_trim)=19
1281                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FB_trim)=19
1282                        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)
1283                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FL_trim)=3
1284                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FR_trim)=3
1285                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FT_trim)=3
1286                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FB_trim)=3
1287                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FL_trim)={0,4},muloffset(iBin_qxqy_FB_trim)={0,2},muloffset(iBin_qxqy_FR_trim)={0,8}
1288                        ModifyGraph/W=$winNameStr grid=1
1289                        ModifyGraph/W=$winNameStr log=1
1290                        ModifyGraph/W=$winNameStr mirror=2
1291                        Label/W=$winNameStr left "Intensity (1/cm)"
1292                        Label/W=$winNameStr bottom "Q (1/A)"
1293                endif           
1294        endif
1295       
1296        if(binType==2)
1297        // clear EVERYTHING
1298                ii=0
1299                do
1300                        type = StringFromList(ii, frontList, ";")
1301                        CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1302                        if(V_flag==1)
1303                                RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1304                        endif
1305                        ii+=1
1306                while(ii<ItemsInList(frontList))
1307       
1308
1309
1310                SetDataFolder $(fullPathToFolder)
1311                CheckDisplayed/W=$winNameStr iBin_qxqy_FLR_trim
1312               
1313                if(V_flag==0)
1314                        AppendtoGraph/W=$winNameStr iBin_qxqy_FLR_trim vs qBin_qxqy_FLR_trim
1315                        AppendToGraph/W=$winNameStr iBin_qxqy_FTB_trim vs qBin_qxqy_FTB_trim
1316                        ErrorBars/T=0 iBin_qxqy_FLR_trim Y,wave=(:eBin_qxqy_FLR_trim,:eBin_qxqy_FLR_trim)
1317                        ErrorBars/T=0 iBin_qxqy_FTB_trim Y,wave=(:eBin_qxqy_FTB_trim,:eBin_qxqy_FTB_trim)
1318
1319                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FLR_trim)=4
1320                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FTB_trim)=4
1321                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FLR_trim)=19
1322                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FTB_trim)=19
1323                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FLR_trim)=(39321,26208,1),rgb(iBin_qxqy_FTB_trim)=(2,39321,1)
1324                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FLR_trim)=3
1325                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FTB_trim)=3
1326                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FLR_trim)={0,2}
1327                        ModifyGraph/W=$winNameStr grid=1
1328                        ModifyGraph/W=$winNameStr log=1
1329                        ModifyGraph/W=$winNameStr mirror=2
1330//                      Label/W=$winNameStr left "Intensity (1/cm)"
1331//                      Label/W=$winNameStr bottom "Q (1/A)"
1332                endif   
1333                       
1334        endif
1335       
1336        if(binType==3)
1337// clear EVERYTHING
1338                ii=0
1339                do
1340                        type = StringFromList(ii, frontList, ";")
1341                        CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1342                        if(V_flag==1)
1343                                RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1344                        endif
1345                        ii+=1
1346                while(ii<ItemsInList(frontList))
1347       
1348
1349       
1350                SetDataFolder $(fullPathToFolder)
1351                CheckDisplayed/W=$winNameStr iBin_qxqy_FLRTB_trim
1352               
1353                if(V_flag==0)
1354                        AppendtoGraph/W=$winNameStr iBin_qxqy_FLRTB_trim vs qBin_qxqy_FLRTB_trim
1355                        ErrorBars/T=0 iBin_qxqy_FLRTB_trim Y,wave=(:eBin_qxqy_FLRTB_trim,:eBin_qxqy_FLRTB_trim)
1356
1357                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FLRTB_trim)=4
1358                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FLRTB_trim)=19
1359                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FLRTB_trim)=(39321,26208,1)
1360                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FLRTB_trim)=3
1361                        ModifyGraph/W=$winNameStr grid=1
1362                        ModifyGraph/W=$winNameStr log=1
1363                        ModifyGraph/W=$winNameStr mirror=2
1364                        Label/W=$winNameStr left "Intensity (1/cm)"
1365                        Label/W=$winNameStr bottom "Q (1/A)"
1366                endif   
1367                       
1368        endif
1369
1370        if(binType==4)          // slit aperture binning - MT, ML, MR, MB are averaged
1371// clear EVERYTHING
1372                ii=0
1373                do
1374                        type = StringFromList(ii, frontList, ";")
1375                        CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1376                        if(V_flag==1)
1377                                RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1378                        endif
1379                        ii+=1
1380                while(ii<ItemsInList(frontList))
1381       
1382
1383               
1384                SetDataFolder $(fullPathToFolder)
1385                CheckDisplayed/W=$winNameStr iBin_qxqy_FL_trim
1386               
1387                if(V_flag==0)
1388                        AppendtoGraph/W=$winNameStr iBin_qxqy_FL_trim vs qBin_qxqy_FL_trim
1389                        AppendToGraph/W=$winNameStr iBin_qxqy_FR_trim vs qBin_qxqy_FR_trim
1390                        AppendToGraph/W=$winNameStr iBin_qxqy_FT_trim vs qBin_qxqy_FT_trim
1391                        AppendToGraph/W=$winNameStr iBin_qxqy_FB_trim vs qBin_qxqy_FB_trim
1392                        ErrorBars/T=0 iBin_qxqy_FL_trim Y,wave=(:eBin_qxqy_FL_trim,:eBin_qxqy_FL_trim)
1393                        ErrorBars/T=0 iBin_qxqy_FR_trim Y,wave=(:eBin_qxqy_FR_trim,:eBin_qxqy_FR_trim)
1394                        ErrorBars/T=0 iBin_qxqy_FT_trim Y,wave=(:eBin_qxqy_FT_trim,:eBin_qxqy_FT_trim)
1395                        ErrorBars/T=0 iBin_qxqy_FB_trim Y,wave=(:eBin_qxqy_FB_trim,:eBin_qxqy_FB_trim)
1396                       
1397                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FL_trim)=4
1398                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FR_trim)=4
1399                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FT_trim)=4
1400                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FB_trim)=4
1401                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FL_trim)=19
1402                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FR_trim)=19
1403                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FT_trim)=19
1404                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FB_trim)=19
1405                        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)
1406                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FL_trim)=3
1407                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FR_trim)=3
1408                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FT_trim)=3
1409                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FB_trim)=3
1410                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FL_trim)={0,4},muloffset(iBin_qxqy_FB_trim)={0,2},muloffset(iBin_qxqy_FR_trim)={0,8}
1411                        ModifyGraph/W=$winNameStr grid=1
1412                        ModifyGraph/W=$winNameStr log=1
1413                        ModifyGraph/W=$winNameStr mirror=2
1414                endif           
1415                       
1416        endif
1417       
1418        SetDataFolder root:
1419End
1420
Note: See TracBrowser for help on using the repository browser.