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

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

additions to VCALC procedures to correctly account for panel motion (individual, not symmetric). Updated the plotting routines to all (mostly) pass through the same subroutines so that additional averaging modes will be easier to add.

File size: 54.2 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/W=$winNameStr iBin_qxqy_ML Y,wave=(:eBin_qxqy_ML,:eBin_qxqy_ML)
485                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_MR Y,wave=(:eBin_qxqy_MR,:eBin_qxqy_MR)
486                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_MT Y,wave=(:eBin_qxqy_MT,:eBin_qxqy_MT)
487                        ErrorBars/T=0/W=$winNameStr 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
508                        ErrorBars/T=0/W=$winNameStr 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/W=$winNameStr 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/W=$winNameStr iBin_qxqy_ML Y,wave=(:eBin_qxqy_ML,:eBin_qxqy_ML)
557                        ErrorBars/T=0/W=$winNameStr 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/W=$winNameStr 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/W=$winNameStr 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/W=$winNameStr 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/W=$winNameStr iBin_qxqy_FL Y,wave=(:eBin_qxqy_FL,:eBin_qxqy_FL)
686                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FR Y,wave=(:eBin_qxqy_FR,:eBin_qxqy_FR)
687                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FT Y,wave=(:eBin_qxqy_FT,:eBin_qxqy_FT)
688                        ErrorBars/T=0/W=$winNameStr 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/W=$winNameStr iBin_qxqy_FLR Y,wave=(:eBin_qxqy_FLR,:eBin_qxqy_FLR)
712                        ErrorBars/T=0/W=$winNameStr 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/W=$winNameStr 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/W=$winNameStr iBin_qxqy_FL Y,wave=(:eBin_qxqy_FL,:eBin_qxqy_FL)
761                        ErrorBars/T=0/W=$winNameStr 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/W=$winNameStr iBin_qxqy_FLR Y,wave=(:eBin_qxqy_FLR,:eBin_qxqy_FLR)
788                        ErrorBars/T=0/W=$winNameStr 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/W=$winNameStr 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/W=$winNameStr iBin_qxqy_FLR Y,wave=(:eBin_qxqy_FLR,:eBin_qxqy_FLR)
835                        ErrorBars/T=0/W=$winNameStr 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// skip everything if back detector is ignored
881        if(!root:Packages:NIST:VSANS:Globals:gIgnoreDetB)
882       
883                SetDataFolder $(fullPathToFolder)       
884       
885                if(binType==1 || binType==2 || binType==3)
886               
887                        SetDataFolder $(fullPathToFolder)       
888                        CheckDisplayed/W=$winNameStr iBin_qxqy_B
889                       
890                        if(V_flag==0)
891                                AppendtoGraph/W=$winNameStr iBin_qxqy_B vs qBin_qxqy_B
892                                ErrorBars/T=0/W=$winNameStr iBin_qxqy_B Y,wave=(:eBin_qxqy_B,:eBin_qxqy_B)
893                                ModifyGraph/W=$winNameStr mode(iBin_qxqy_B)=4
894                                ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B)=(1,52428,52428)
895                                ModifyGraph/W=$winNameStr grid=1
896                                ModifyGraph/W=$winNameStr log=1
897                                ModifyGraph/W=$winNameStr mirror=2
898                                ModifyGraph/W=$winNameStr marker(iBin_qxqy_B)=19,msize(iBin_qxqy_B)=2
899        //                      ModifyGraph/W=$winNameStr msize(iBin_qxqy_B)=3,textMarker(iBin_qxqy_B)={"B","default",1,0,5,0.00,0.00}
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                                ErrorBars/T=0/W=$winNameStr iBin_qxqy_B Y,wave=(:eBin_qxqy_B,:eBin_qxqy_B)
913                                ModifyGraph/W=$winNameStr mode(iBin_qxqy_B)=4
914                                ModifyGraph/W=$winNameStr marker(iBin_qxqy_B)=19
915                                ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B)=(1,52428,52428)
916                                ModifyGraph/W=$winNameStr msize(iBin_qxqy_B)=2
917                                ModifyGraph/W=$winNameStr grid=1
918                                ModifyGraph/W=$winNameStr log=1
919                                ModifyGraph/W=$winNameStr mirror=2
920                        endif
921                endif
922       
923                if(binType==5 || binType==6 || binType==7)
924               
925                        SetDataFolder $(fullPathToFolder)       
926                        CheckDisplayed/W=$winNameStr iBin_qxqy_B
927                       
928                        if(V_flag==0)
929                                AppendtoGraph/W=$winNameStr iBin_qxqy_B vs qBin_qxqy_B
930                                ErrorBars/T=0/W=$winNameStr iBin_qxqy_B Y,wave=(:eBin_qxqy_B,:eBin_qxqy_B)
931                                ModifyGraph/W=$winNameStr mode(iBin_qxqy_B)=4
932                                ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B)=(1,52428,52428)
933                                ModifyGraph/W=$winNameStr grid=1
934                                ModifyGraph/W=$winNameStr log=1
935                                ModifyGraph/W=$winNameStr mirror=2
936                                ModifyGraph/W=$winNameStr marker(iBin_qxqy_B)=19,msize(iBin_qxqy_B)=2
937        //                      ModifyGraph/W=$winNameStr msize(iBin_qxqy_B)=3,textMarker(iBin_qxqy_B)={"B","default",1,0,5,0.00,0.00}
938                        endif
939                       
940                endif
941
942        endif           // if (don't ignore back detector)
943       
944        SetDataFolder root:
945End
946
947
948
949//      type = the data folder
950// binType = numerical index of the bin type (1->4)
951//  one;two;four;slit
952// winNameStr = the name of the target window
953//
954////////////to plot the back panel I(q)
955Proc V_Back_IQ_Graph_trim(fullPathToFolder,binType,winNameStr)
956        String fullPathToFolder
957        Variable binType
958        String winNameStr
959       
960//      SetDataFolder root:Packages:NIST:VSANS:VCALC:entry:instrument:detector_B
961
962//      Variable binType
963
964//      binType = V_GetBinningPopMode()
965        ClearIQIfDisplayed_AllFldr("B_trim",winNameStr)
966
967// skip everything if back detector is ignored
968        if(!root:Packages:NIST:VSANS:Globals:gIgnoreDetB)
969       
970                SetDataFolder $(fullPathToFolder)       
971       
972                if(binType==1 || binType==2 || binType==3)
973               
974                        SetDataFolder $(fullPathToFolder)       
975                        CheckDisplayed/W=$winNameStr iBin_qxqy_B_trim
976                       
977                        if(V_flag==0)
978                                AppendtoGraph/W=$winNameStr iBin_qxqy_B_trim vs qBin_qxqy_B_trim
979                                ErrorBars/T=0/W=$winNameStr iBin_qxqy_B_trim Y,wave=(:eBin_qxqy_B_trim,:eBin_qxqy_B_trim)
980                                ModifyGraph/W=$winNameStr mode(iBin_qxqy_B_trim)=4
981                                ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B_trim)=(1,52428,52428)
982                                ModifyGraph/W=$winNameStr grid=1
983                                ModifyGraph/W=$winNameStr log=1
984                                ModifyGraph/W=$winNameStr mirror=2
985                                ModifyGraph/W=$winNameStr marker(iBin_qxqy_B_trim)=19,msize(iBin_qxqy_B_trim)=3
986        //                      ModifyGraph/W=$winNameStr msize(iBin_qxqy_B_trim)=3,textMarker(iBin_qxqy_B_trim)={"B","default",1,0,5,0.00,0.00}
987       
988                        endif
989                       
990                endif
991       
992                //nothing different here since there is ony a single detector to display, but for the future...
993                if(binType==4)
994               
995                        SetDataFolder $(fullPathToFolder)       
996                        CheckDisplayed/W=$winNameStr iBin_qxqy_B_trim
997                       
998                        if(V_flag==0)
999                                AppendtoGraph/W=$winNameStr iBin_qxqy_B_trim vs qBin_qxqy_B_trim
1000                                ErrorBars/T=0/W=$winNameStr iBin_qxqy_B_trim Y,wave=(:eBin_qxqy_B_trim,:eBin_qxqy_B_trim)
1001                                ModifyGraph/W=$winNameStr mode(iBin_qxqy_B_trim)=4
1002                                ModifyGraph/W=$winNameStr marker(iBin_qxqy_B_trim)=19
1003                                ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B_trim)=(1,52428,52428)
1004                                ModifyGraph/W=$winNameStr msize(iBin_qxqy_B_trim)=3
1005                                ModifyGraph/W=$winNameStr grid=1
1006                                ModifyGraph/W=$winNameStr log=1
1007                                ModifyGraph/W=$winNameStr mirror=2
1008                        endif
1009                endif
1010       
1011                if(binType==5 || binType==6 || binType==7)
1012               
1013                SetDataFolder $(fullPathToFolder)       
1014                                CheckDisplayed/W=$winNameStr iBin_qxqy_B_trim
1015                       
1016                        if(V_flag==0)
1017                                AppendtoGraph/W=$winNameStr iBin_qxqy_B_trim vs qBin_qxqy_B_trim
1018                                ErrorBars/T=0/W=$winNameStr iBin_qxqy_B_trim Y,wave=(:eBin_qxqy_B_trim,:eBin_qxqy_B_trim)
1019                                ModifyGraph/W=$winNameStr mode(iBin_qxqy_B_trim)=4
1020                                ModifyGraph/W=$winNameStr marker(iBin_qxqy_B_trim)=19
1021                                ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B_trim)=(1,52428,52428)
1022                                ModifyGraph/W=$winNameStr msize(iBin_qxqy_B_trim)=3
1023                                ModifyGraph/W=$winNameStr grid=1
1024                                ModifyGraph/W=$winNameStr log=1
1025                                ModifyGraph/W=$winNameStr mirror=2
1026                        endif
1027                endif
1028       
1029        endif // if (don't ignore back detector)
1030       
1031        SetDataFolder root:
1032End
1033
1034
1035//
1036// x- need to set binType
1037// x- currently  hard-wired == 1
1038//
1039// input "fullPathToFolder" is the data type and defines the folder,
1040// i.e. "root:Packages:NIST:VSANS:"+"SAM"
1041//
1042Proc V_Middle_IQ_Graph_trim(fullPathToFolder,binType,winNameStr)
1043        String fullPathToFolder
1044        Variable binType
1045        String winNameStr
1046
1047//      binType = V_GetBinningPopMode()
1048        SetDataFolder $(fullPathToFolder)
1049
1050//      String midList = "ML;MR;MT;MB;MLR;MTB;MLRTB;"
1051        String type
1052        Variable ii
1053
1054// clear EVERYTHING
1055        ClearIQIfDisplayed_AllFldr("MLRTB_trim",winNameStr)
1056        ClearIQIfDisplayed_AllFldr("MLR_trim",winNameStr)
1057        ClearIQIfDisplayed_AllFldr("MTB_trim",winNameStr)               //this returns to root:
1058        ClearIQIfDisplayed_AllFldr("MT_trim",winNameStr)       
1059        ClearIQIfDisplayed_AllFldr("ML_trim",winNameStr)       
1060        ClearIQIfDisplayed_AllFldr("MR_trim",winNameStr)       
1061        ClearIQIfDisplayed_AllFldr("MB_trim",winNameStr)               
1062
1063        if(binType==1)
1064//              ii=0
1065//              do
1066//                      type = StringFromList(ii, midlist, ";")
1067//                      CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1068//                      if(V_flag==1)
1069//                              RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1070//                      endif
1071//                      ii+=1
1072//              while(ii<ItemsInList(midList))
1073       
1074                       
1075                SetDataFolder $(fullPathToFolder)
1076                CheckDisplayed/W=$winNameStr iBin_qxqy_ML_trim
1077               
1078                if(V_flag==0)
1079                        AppendtoGraph/W=$winNameStr iBin_qxqy_ML_trim vs qBin_qxqy_ML_trim
1080                        AppendToGraph/W=$winNameStr iBin_qxqy_MR_trim vs qBin_qxqy_MR_trim
1081                        AppendToGraph/W=$winNameStr iBin_qxqy_MT_trim vs qBin_qxqy_MT_trim
1082                        AppendToGraph/W=$winNameStr iBin_qxqy_MB_trim vs qBin_qxqy_MB_trim
1083                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_ML_trim Y,wave=(:eBin_qxqy_ML_trim,:eBin_qxqy_ML_trim)
1084                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_MR_trim Y,wave=(:eBin_qxqy_MR_trim,:eBin_qxqy_MR_trim)
1085                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_MT_trim Y,wave=(:eBin_qxqy_MT_trim,:eBin_qxqy_MT_trim)
1086                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_MB_trim Y,wave=(:eBin_qxqy_MB_trim,:eBin_qxqy_MB_trim)
1087                       
1088                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_ML_trim)=4
1089                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MR_trim)=4
1090                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MT_trim)=4
1091                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MB_trim)=4
1092                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_ML_trim)=19
1093                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MR_trim)=19
1094                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MT_trim)=19
1095                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MB_trim)=19
1096                        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)
1097                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_ML_trim)=3
1098                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MR_trim)=3
1099                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MT_trim)=3
1100                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MB_trim)=3
1101                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_ML_trim)={0,4},muloffset(iBin_qxqy_MB_trim)={0,2},muloffset(iBin_qxqy_MR_trim)={0,8}
1102                        ModifyGraph/W=$winNameStr grid=1
1103                        ModifyGraph/W=$winNameStr log=1
1104                        ModifyGraph/W=$winNameStr mirror=2
1105                endif           
1106        endif
1107       
1108        if(binType==2)
1109// clear EVERYTHING
1110//              ii=0
1111//              do
1112//                      type = StringFromList(ii, midlist, ";")
1113//                      CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1114//                      if(V_flag==1)
1115//                              RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1116//                      endif
1117//                      ii+=1
1118//              while(ii<ItemsInList(midList))
1119//             
1120
1121                SetDataFolder $(fullPathToFolder)
1122                CheckDisplayed/W=$winNameStr iBin_qxqy_MLR_trim
1123               
1124                if(V_flag==0)
1125                        AppendtoGraph/W=$winNameStr iBin_qxqy_MLR_trim vs qBin_qxqy_MLR_trim
1126                        AppendToGraph/W=$winNameStr iBin_qxqy_MTB_trim vs qBin_qxqy_MTB_trim
1127                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_MLR_trim Y,wave=(:eBin_qxqy_MLR_trim,:eBin_qxqy_MLR_trim)
1128                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_MTB_trim Y,wave=(:eBin_qxqy_MTB_trim,:eBin_qxqy_MTB_trim)
1129                       
1130                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MLR_trim)=4
1131                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MTB_trim)=4
1132                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MLR_trim)=19
1133                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MTB_trim)=19
1134                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MLR_trim)=(65535,0,0),rgb(iBin_qxqy_MTB_trim)=(1,16019,65535)
1135                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MLR_trim)=3
1136                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MTB_trim)=3
1137                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_MLR_trim)={0,2}
1138                        ModifyGraph/W=$winNameStr grid=1
1139                        ModifyGraph/W=$winNameStr log=1
1140                        ModifyGraph/W=$winNameStr mirror=2
1141                        Label/W=$winNameStr left "Intensity (1/cm)"
1142                        Label/W=$winNameStr bottom "Q (1/A)"
1143                endif   
1144                       
1145        endif
1146       
1147        if(binType==3)
1148//// clear EVERYTHING
1149//              ii=0
1150//              do
1151//                      type = StringFromList(ii, midlist, ";")
1152//                      CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1153//                      if(V_flag==1)
1154//                              RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1155//                      endif
1156//                      ii+=1
1157//              while(ii<ItemsInList(midList))
1158
1159       
1160                SetDataFolder $(fullPathToFolder)
1161                CheckDisplayed/W=$winNameStr iBin_qxqy_MLRTB_trim
1162               
1163                if(V_flag==0)
1164                        AppendtoGraph/W=$winNameStr iBin_qxqy_MLRTB_trim vs qBin_qxqy_MLRTB_trim
1165                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_MLRTB_trim Y,wave=(:eBin_qxqy_MLRTB_trim,:eBin_qxqy_MLRTB_trim)
1166                       
1167                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MLRTB_trim)=4
1168                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MLRTB_trim)=19
1169                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MLRTB_trim)=(65535,0,0)
1170                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MLRTB_trim)=3
1171                        ModifyGraph/W=$winNameStr grid=1
1172                        ModifyGraph/W=$winNameStr log=1
1173                        ModifyGraph/W=$winNameStr mirror=2
1174                        Label/W=$winNameStr left "Intensity (1/cm)"
1175                        Label/W=$winNameStr bottom "Q (1/A)"
1176                endif   
1177                       
1178        endif
1179
1180        if(binType==4)          // slit aperture binning - MT, ML, MR, MB are averaged
1181//// clear EVERYTHING
1182//              ii=0
1183//              do
1184//                      type = StringFromList(ii, midlist, ";")
1185//                      CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1186//                      if(V_flag==1)
1187//                              RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1188//                      endif
1189//                      ii+=1
1190//              while(ii<ItemsInList(midList))
1191               
1192
1193               
1194                SetDataFolder $(fullPathToFolder)
1195                CheckDisplayed/W=$winNameStr iBin_qxqy_ML_trim
1196               
1197                if(V_flag==0)
1198                        AppendToGraph/W=$winNameStr iBin_qxqy_ML_trim vs qBin_qxqy_ML_trim
1199                        AppendToGraph/W=$winNameStr iBin_qxqy_MR_trim vs qBin_qxqy_MR_trim
1200//                      AppendToGraph/W=$winNameStr iBin_qxqy_MT_trim vs qBin_qxqy_MT_trim
1201//                      AppendToGraph/W=$winNameStr iBin_qxqy_MB_trim vs qBin_qxqy_MB_trim
1202                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_ML_trim Y,wave=(:eBin_qxqy_ML_trim,:eBin_qxqy_ML_trim)
1203                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_MR_trim Y,wave=(:eBin_qxqy_MR_trim,:eBin_qxqy_MR_trim)
1204//                      ErrorBars/T=0 iBin_qxqy_MT_trim Y,wave=(:eBin_qxqy_MT_trim,:eBin_qxqy_MT_trim)
1205//                      ErrorBars/T=0 iBin_qxqy_MB_trim Y,wave=(:eBin_qxqy_MB_trim,:eBin_qxqy_MB_trim)
1206                       
1207                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_ML_trim)=4
1208                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MR_trim)=4
1209//                      ModifyGraph/W=$winNameStr mode(iBin_qxqy_MT_trim)=4
1210//                      ModifyGraph/W=$winNameStr mode(iBin_qxqy_MB_trim)=4
1211                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_ML_trim)=19
1212                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MR_trim)=19
1213//                      ModifyGraph/W=$winNameStr marker(iBin_qxqy_MT_trim)=19
1214//                      ModifyGraph/W=$winNameStr marker(iBin_qxqy_MB_trim)=19
1215                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_ML_trim)=(65535,0,0),rgb(iBin_qxqy_MR_trim)=(65535,0,0)
1216//                      ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MB_trim)=(1,16019,65535),rgb(iBin_qxqy_MT_trim)=(1,16019,65535)
1217                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_ML_trim)=3
1218                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MR_trim)=3
1219//                      ModifyGraph/W=$winNameStr msize(iBin_qxqy_MT_trim)=3
1220//                      ModifyGraph/W=$winNameStr msize(iBin_qxqy_MB_trim)=3
1221                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_ML_trim)={0,4},muloffset(iBin_qxqy_MR_trim)={0,8}
1222//                      ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_MB_trim)={0,2}
1223                        ModifyGraph/W=$winNameStr grid=1
1224                        ModifyGraph/W=$winNameStr log=1
1225                        ModifyGraph/W=$winNameStr mirror=2
1226                endif           
1227                       
1228        endif
1229       
1230        if(binType==5)
1231//// clear EVERYTHING
1232//              ii=0
1233//              do
1234//                      type = StringFromList(ii, midlist, ";")
1235//                      CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1236//                      if(V_flag==1)
1237//                              RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1238//                      endif
1239//                      ii+=1
1240//              while(ii<ItemsInList(midList))
1241
1242       
1243                SetDataFolder $(fullPathToFolder)
1244                CheckDisplayed/W=$winNameStr iBin_qxqy_MLRTB_trim
1245               
1246                if(V_flag==0)
1247                        AppendtoGraph/W=$winNameStr iBin_qxqy_MLRTB_trim vs qBin_qxqy_MLRTB_trim
1248                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_MLRTB_trim Y,wave=(:eBin_qxqy_MLRTB_trim,:eBin_qxqy_MLRTB_trim)
1249                       
1250                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MLRTB_trim)=4
1251                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MLRTB_trim)=19
1252                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MLRTB_trim)=(65535,0,0)
1253                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MLRTB_trim)=3
1254                        ModifyGraph/W=$winNameStr grid=1
1255                        ModifyGraph/W=$winNameStr log=1
1256                        ModifyGraph/W=$winNameStr mirror=2
1257                        Label/W=$winNameStr left "Intensity (1/cm)"
1258                        Label/W=$winNameStr bottom "Q (1/A)"
1259                endif   
1260                       
1261        endif
1262       
1263        if(binType==6)
1264// clear EVERYTHING
1265//              ii=0
1266//              do
1267//                      type = StringFromList(ii, midlist, ";")
1268//                      CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1269//                      if(V_flag==1)
1270//                              RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1271//                      endif
1272//                      ii+=1
1273//              while(ii<ItemsInList(midList))
1274//             
1275
1276                SetDataFolder $(fullPathToFolder)
1277                CheckDisplayed/W=$winNameStr iBin_qxqy_MLR_trim
1278               
1279                if(V_flag==0)
1280                        AppendtoGraph/W=$winNameStr iBin_qxqy_MLR_trim vs qBin_qxqy_MLR_trim
1281                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_MLR_trim Y,wave=(:eBin_qxqy_MLR_trim,:eBin_qxqy_MLR_trim)
1282                       
1283                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MLR_trim)=4
1284                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MLR_trim)=19
1285                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MLR_trim)=(65535,0,0)
1286                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MLR_trim)=3
1287//                      ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_MLR_trim)={0,2}
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                       
1295        endif   
1296       
1297        if(binType==7)
1298// clear EVERYTHING
1299//              ii=0
1300//              do
1301//                      type = StringFromList(ii, midlist, ";")
1302//                      CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1303//                      if(V_flag==1)
1304//                              RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim")
1305//                      endif
1306//                      ii+=1
1307//              while(ii<ItemsInList(midList))
1308//             
1309
1310                SetDataFolder $(fullPathToFolder)
1311                CheckDisplayed/W=$winNameStr iBin_qxqy_MLR_trim
1312               
1313                if(V_flag==0)
1314                        AppendtoGraph/W=$winNameStr iBin_qxqy_MLR_trim vs qBin_qxqy_MLR_trim
1315                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_MLR_trim Y,wave=(:eBin_qxqy_MLR_trim,:eBin_qxqy_MLR_trim)
1316                       
1317                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MLR_trim)=4
1318                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MLR_trim)=19
1319                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MLR_trim)=(65535,0,0)
1320                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MLR_trim)=3
1321//                      ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_MLR_trim)={0,2}
1322                        ModifyGraph/W=$winNameStr grid=1
1323                        ModifyGraph/W=$winNameStr log=1
1324                        ModifyGraph/W=$winNameStr mirror=2
1325                        Label/W=$winNameStr left "Intensity (1/cm)"
1326                        Label/W=$winNameStr bottom "Q (1/A)"
1327                endif   
1328                       
1329        endif   
1330               
1331        SetDataFolder root:
1332End
1333
1334
1335
1336
1337//
1338// x- need to set binType
1339// x- currently  hard-wired == 1
1340// x- error bars on the data
1341//
1342Proc V_Front_IQ_Graph_trim(fullPathToFolder,binType,winNameStr)
1343        String fullPathToFolder
1344        Variable binType
1345        String winNameStr
1346
1347
1348        String frontList = "FL;FR;FT;FB;FLR;FTB;FLRTB;"
1349        String type
1350        Variable ii
1351        SetDataFolder $(fullPathToFolder)
1352
1353// clear EVERYTHING
1354        ClearIQIfDisplayed_AllFldr("FLRTB_trim",winNameStr)
1355       
1356        ClearIQIfDisplayed_AllFldr("FLR_trim",winNameStr)
1357        ClearIQIfDisplayed_AllFldr("FTB_trim",winNameStr)
1358
1359        ClearIQIfDisplayed_AllFldr("FT_trim",winNameStr)       
1360        ClearIQIfDisplayed_AllFldr("FL_trim",winNameStr)       
1361        ClearIQIfDisplayed_AllFldr("FR_trim",winNameStr)       
1362        ClearIQIfDisplayed_AllFldr("FB_trim",winNameStr)
1363               
1364        if(binType==1)
1365                               
1366                SetDataFolder $(fullPathToFolder)
1367                CheckDisplayed/W=$winNameStr iBin_qxqy_FL_trim
1368               
1369                if(V_flag==0)
1370                        AppendtoGraph/W=$winNameStr iBin_qxqy_FL_trim vs qBin_qxqy_FL_trim
1371                        AppendToGraph/W=$winNameStr iBin_qxqy_FR_trim vs qBin_qxqy_FR_trim
1372                        AppendToGraph/W=$winNameStr iBin_qxqy_FT_trim vs qBin_qxqy_FT_trim
1373                        AppendToGraph/W=$winNameStr iBin_qxqy_FB_trim vs qBin_qxqy_FB_trim
1374                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FL_trim Y,wave=(:eBin_qxqy_FL_trim,:eBin_qxqy_FL_trim)
1375                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FR_trim Y,wave=(:eBin_qxqy_FR_trim,:eBin_qxqy_FR_trim)
1376                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FT_trim Y,wave=(:eBin_qxqy_FT_trim,:eBin_qxqy_FT_trim)
1377                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FB_trim Y,wave=(:eBin_qxqy_FB_trim,:eBin_qxqy_FB_trim)
1378
1379                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FL_trim)=4
1380                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FR_trim)=4
1381                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FT_trim)=4
1382                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FB_trim)=4
1383                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FL_trim)=19
1384                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FR_trim)=19
1385                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FT_trim)=19
1386                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FB_trim)=19
1387                        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)
1388                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FL_trim)=3
1389                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FR_trim)=3
1390                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FT_trim)=3
1391                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FB_trim)=3
1392                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FL_trim)={0,4},muloffset(iBin_qxqy_FB_trim)={0,2},muloffset(iBin_qxqy_FR_trim)={0,8}
1393                        ModifyGraph/W=$winNameStr grid=1
1394                        ModifyGraph/W=$winNameStr log=1
1395                        ModifyGraph/W=$winNameStr mirror=2
1396                        Label/W=$winNameStr left "Intensity (1/cm)"
1397                        Label/W=$winNameStr bottom "Q (1/A)"
1398                endif           
1399        endif
1400       
1401        if(binType==2)
1402
1403                SetDataFolder $(fullPathToFolder)
1404                CheckDisplayed/W=$winNameStr iBin_qxqy_FLR_trim
1405               
1406                if(V_flag==0)
1407                        AppendtoGraph/W=$winNameStr iBin_qxqy_FLR_trim vs qBin_qxqy_FLR_trim
1408                        AppendToGraph/W=$winNameStr iBin_qxqy_FTB_trim vs qBin_qxqy_FTB_trim
1409                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FLR_trim Y,wave=(:eBin_qxqy_FLR_trim,:eBin_qxqy_FLR_trim)
1410                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FTB_trim Y,wave=(:eBin_qxqy_FTB_trim,:eBin_qxqy_FTB_trim)
1411
1412                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FLR_trim)=4
1413                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FTB_trim)=4
1414                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FLR_trim)=19
1415                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FTB_trim)=19
1416                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FLR_trim)=(39321,26208,1),rgb(iBin_qxqy_FTB_trim)=(2,39321,1)
1417                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FLR_trim)=3
1418                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FTB_trim)=3
1419                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FLR_trim)={0,2}
1420                        ModifyGraph/W=$winNameStr grid=1
1421                        ModifyGraph/W=$winNameStr log=1
1422                        ModifyGraph/W=$winNameStr mirror=2
1423//                      Label/W=$winNameStr left "Intensity (1/cm)"
1424//                      Label/W=$winNameStr bottom "Q (1/A)"
1425                endif   
1426                       
1427        endif
1428       
1429        if(binType==3)
1430       
1431                SetDataFolder $(fullPathToFolder)
1432                CheckDisplayed/W=$winNameStr iBin_qxqy_FLRTB_trim
1433               
1434                if(V_flag==0)
1435                        AppendtoGraph/W=$winNameStr iBin_qxqy_FLRTB_trim vs qBin_qxqy_FLRTB_trim
1436                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FLRTB_trim Y,wave=(:eBin_qxqy_FLRTB_trim,:eBin_qxqy_FLRTB_trim)
1437
1438                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FLRTB_trim)=4
1439                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FLRTB_trim)=19
1440                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FLRTB_trim)=(39321,26208,1)
1441                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FLRTB_trim)=3
1442                        ModifyGraph/W=$winNameStr grid=1
1443                        ModifyGraph/W=$winNameStr log=1
1444                        ModifyGraph/W=$winNameStr mirror=2
1445                        Label/W=$winNameStr left "Intensity (1/cm)"
1446                        Label/W=$winNameStr bottom "Q (1/A)"
1447                endif   
1448                       
1449        endif
1450
1451        if(binType==4)          // slit aperture binning - MT, ML, MR, MB are averaged
1452               
1453                SetDataFolder $(fullPathToFolder)
1454                CheckDisplayed/W=$winNameStr iBin_qxqy_FL_trim
1455               
1456                if(V_flag==0)
1457                        AppendtoGraph/W=$winNameStr iBin_qxqy_FL_trim vs qBin_qxqy_FL_trim
1458                        AppendToGraph/W=$winNameStr iBin_qxqy_FR_trim vs qBin_qxqy_FR_trim
1459//                      AppendToGraph/W=$winNameStr iBin_qxqy_FT_trim vs qBin_qxqy_FT_trim
1460//                      AppendToGraph/W=$winNameStr iBin_qxqy_FB_trim vs qBin_qxqy_FB_trim
1461                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FL_trim Y,wave=(:eBin_qxqy_FL_trim,:eBin_qxqy_FL_trim)
1462                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FR_trim Y,wave=(:eBin_qxqy_FR_trim,:eBin_qxqy_FR_trim)
1463//                      ErrorBars/T=0 iBin_qxqy_FT_trim Y,wave=(:eBin_qxqy_FT_trim,:eBin_qxqy_FT_trim)
1464//                      ErrorBars/T=0 iBin_qxqy_FB_trim Y,wave=(:eBin_qxqy_FB_trim,:eBin_qxqy_FB_trim)
1465                       
1466                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FL_trim)=4
1467                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FR_trim)=4
1468//                      ModifyGraph/W=$winNameStr mode(iBin_qxqy_FT_trim)=4
1469//                      ModifyGraph/W=$winNameStr mode(iBin_qxqy_FB_trim)=4
1470                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FL_trim)=19
1471                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FR_trim)=19
1472//                      ModifyGraph/W=$winNameStr marker(iBin_qxqy_FT_trim)=19
1473//                      ModifyGraph/W=$winNameStr marker(iBin_qxqy_FB_trim)=19
1474                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FL_trim)=(39321,26208,1),rgb(iBin_qxqy_FR_trim)=(39321,26208,1)
1475//                      ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FB_trim)=(2,39321,1),rgb(iBin_qxqy_FT_trim)=(2,39321,1)
1476                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FL_trim)=3
1477                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FR_trim)=3
1478//                      ModifyGraph/W=$winNameStr msize(iBin_qxqy_FT_trim)=3
1479//                      ModifyGraph/W=$winNameStr msize(iBin_qxqy_FB_trim)=3
1480                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FL_trim)={0,4},muloffset(iBin_qxqy_FR_trim)={0,8}
1481//                      ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FB_trim)={0,2}
1482                        ModifyGraph/W=$winNameStr grid=1
1483                        ModifyGraph/W=$winNameStr log=1
1484                        ModifyGraph/W=$winNameStr mirror=2
1485                endif           
1486                       
1487        endif
1488
1489
1490        if(binType==5)
1491
1492                SetDataFolder $(fullPathToFolder)
1493                CheckDisplayed/W=$winNameStr iBin_qxqy_FLR_trim
1494               
1495                if(V_flag==0)
1496                        AppendtoGraph/W=$winNameStr iBin_qxqy_FLR_trim vs qBin_qxqy_FLR_trim
1497                        AppendToGraph/W=$winNameStr iBin_qxqy_FTB_trim vs qBin_qxqy_FTB_trim
1498                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FLR_trim Y,wave=(:eBin_qxqy_FLR_trim,:eBin_qxqy_FLR_trim)
1499                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FTB_trim Y,wave=(:eBin_qxqy_FTB_trim,:eBin_qxqy_FTB_trim)
1500
1501                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FLR_trim)=4
1502                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FTB_trim)=4
1503                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FLR_trim)=19
1504                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FTB_trim)=19
1505                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FLR_trim)=(39321,26208,1),rgb(iBin_qxqy_FTB_trim)=(2,39321,1)
1506                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FLR_trim)=3
1507                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FTB_trim)=3
1508                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FLR_trim)={0,2}
1509                        ModifyGraph/W=$winNameStr grid=1
1510                        ModifyGraph/W=$winNameStr log=1
1511                        ModifyGraph/W=$winNameStr mirror=2
1512//                      Label/W=$winNameStr left "Intensity (1/cm)"
1513//                      Label/W=$winNameStr bottom "Q (1/A)"
1514                endif   
1515                       
1516        endif
1517
1518        if(binType==6) 
1519       
1520                SetDataFolder $(fullPathToFolder)
1521                CheckDisplayed/W=$winNameStr iBin_qxqy_FLRTB_trim
1522               
1523                if(V_flag==0)
1524                        AppendtoGraph/W=$winNameStr iBin_qxqy_FLRTB_trim vs qBin_qxqy_FLRTB_trim
1525                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FLRTB_trim Y,wave=(:eBin_qxqy_FLRTB_trim,:eBin_qxqy_FLRTB_trim)
1526
1527
1528                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FLRTB_trim)=4
1529                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FLRTB_trim)=19
1530                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FLRTB_trim)=3
1531                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FLRTB_trim)=(39321,26208,1)
1532                        ModifyGraph/W=$winNameStr grid=1
1533                        ModifyGraph/W=$winNameStr log=1
1534                        ModifyGraph/W=$winNameStr mirror=2
1535                        Label/W=$winNameStr left "Intensity (1/cm)"
1536                        Label/W=$winNameStr bottom "Q (1/A)"
1537                endif   
1538                       
1539        endif
1540       
1541        if(binType==7)
1542
1543                SetDataFolder $(fullPathToFolder)
1544                CheckDisplayed/W=$winNameStr iBin_qxqy_FLR_trim
1545               
1546                if(V_flag==0)
1547                        AppendtoGraph/W=$winNameStr iBin_qxqy_FLR_trim vs qBin_qxqy_FLR_trim
1548                        AppendToGraph/W=$winNameStr iBin_qxqy_FTB_trim vs qBin_qxqy_FTB_trim
1549                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FLR_trim Y,wave=(:eBin_qxqy_FLR_trim,:eBin_qxqy_FLR_trim)
1550                        ErrorBars/T=0/W=$winNameStr iBin_qxqy_FTB_trim Y,wave=(:eBin_qxqy_FTB_trim,:eBin_qxqy_FTB_trim)
1551
1552                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FLR_trim)=4
1553                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FTB_trim)=4
1554                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FLR_trim)=19
1555                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FTB_trim)=19
1556                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FLR_trim)=3
1557                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FTB_trim)=3
1558                       
1559                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FLR_trim)=(39321,26208,1),rgb(iBin_qxqy_FTB_trim)=(2,39321,1)
1560                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FLR_trim)={0,2}
1561                        ModifyGraph/W=$winNameStr grid=1
1562                        ModifyGraph/W=$winNameStr log=1
1563                        ModifyGraph/W=$winNameStr mirror=2
1564//                      Label/W=$winNameStr left "Intensity (1/cm)"
1565//                      Label/W=$winNameStr bottom "Q (1/A)"
1566                endif   
1567                       
1568        endif   
1569        SetDataFolder root:
1570End
1571
Note: See TracBrowser for help on using the repository browser.