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

Last change on this file since 1038 was 1038, checked in by srkline, 6 years ago

Adding procedures to allow trimming of data sets before concatenation. This is different than SANS, since the trimming and scaling choices must be made before reduction is done, since they must be part of the reduction protocol - as all data sets I(q) are part of the same data file.

How this is handled is still very much a work in progress...

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