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

Last change on this file since 1130 was 1129, checked in by srkline, 4 years ago

more additions to VCALC functionality and bug fixes

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