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

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

changes mostly to VCALC to add in what bits of information I have about the instrument dimensions. Added in stubs (based on NG3 SANS) for the beam intensity. Added in a preset condition for Front+Middle. Still need a more uniform way to do this.

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