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

Last change on this file since 1242 was 1242, checked in by srkline, 2 years ago

updating the IgorVersion? pragma to v7.0 for all files to be consistent.

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