source: sans/Dev/trunk/NCNR_Igor_Procedures/NCNR_Package_Loader.ipf @ 1061

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

Added USANS loader/initializer

Updated units of distance for q-calculation (SDD)

status display bug fixed

File size: 22.2 KB
Line 
1#pragma rtGlobals=1             // Use modern global access method.
2#pragma IgorVersion=6.2
3
4// load/unload courtesy of Jan Ilavsky
5// June 2008
6//
7// - SRK Oct 2008
8// rather than deleting the macros, it is preferable to simply hide the appropriate panels.
9// deleting the ipf files will break dependencies, leave panels hanging open without
10// their associated procedures, etc.
11//
12// names of everything have been changed so I won't clash with Jan's code
13// - make this an independent module in case of bad compilation...?
14//
15//
16// a "(" anywhere in the menuItemString will disable that menu item
17// <U underlines, <U bolds (?? maybe use these to show which is actually loaded)
18
19
20
21
22Menu "Macros"
23        "-"
24        StrVarOrDefault("root:Packages:NCNRItemStr1a","Load NCNR Analysis Macros"), NCNR_AnalysisLoader(StrVarOrDefault("root:Packages:NCNRItemStr1a","Load NCNR Analysis Macros"))
25//      StrVarOrDefault("root:Packages:NCNRItemStr1b","-"), NCNR_AnalysisLoader(StrVarOrDefault("root:Packages:NCNRItemStr1b","-"))
26
27        Submenu "Load SANS Reduction Macros"
28                StrVarOrDefault("root:Packages:NCNRItemStr2a","Load NCNR SANS Reduction Macros"), NCNR_SANSReductionLoader(StrVarOrDefault("root:Packages:NCNRItemStr2a","Load NCNR SANS Reduction Macros"))
29                StrVarOrDefault("root:Packages:NCNRItemStr2b","Load QUOKKA SANS Reduction Macros"), NCNR_SANSReductionLoader(StrVarOrDefault("root:Packages:NCNRItemStr2b","Load QUOKKA SANS Reduction Macros"))
30                StrVarOrDefault("root:Packages:NCNRItemStr2c","Load ILL SANS Reduction Macros"), NCNR_SANSReductionLoader(StrVarOrDefault("root:Packages:NCNRItemStr2c","Load ILL SANS Reduction Macros"))
31                StrVarOrDefault("root:Packages:NCNRItemStr2d","Load HFIR SANS Reduction Macros"), NCNR_SANSReductionLoader(StrVarOrDefault("root:Packages:NCNRItemStr2d","Load HFIR SANS Reduction Macros"))
32//              StrVarOrDefault("root:Packages:NCNRItemStr2e","Load HANARO SANS Reduction Macros"), NCNR_SANSReductionLoader(StrVarOrDefault("root:Packages:NCNRItemStr2e","Load HANARO SANS Reduction Macros"))
33//              StrVarOrDefault("root:Packages:NCNRItemStr2b","-"), NCNR_SANSReductionLoader(StrVarOrDefault("root:Packages:NCNRItemStr2b","-"))       
34        End
35       
36        Submenu "Load USANS Reduction Macros"
37                StrVarOrDefault("root:Packages:NCNRItemStr3a","Load NCNR USANS Reduction Macros"), NCNR_USANSReductionLoader(StrVarOrDefault("root:Packages:NCNRItemStr3a","Load NCNR USANS Reduction Macros"))
38                StrVarOrDefault("root:Packages:NCNRItemStr3b","Load HANARO USANS Reduction Macros"), NCNR_USANSReductionLoader(StrVarOrDefault("root:Packages:NCNRItemStr3b","Load HANARO USANS Reduction Macros"))
39//              StrVarOrDefault("root:Packages:NCNRItemStr3b","-"), NCNR_USANSReductionLoader(StrVarOrDefault("root:Packages:NCNRItemStr3b","-"))
40        End
41       
42        StrVarOrDefault("root:Packages:NCNRItemStr4a","Load NCNR SANS Live Data"), NCNR_SANSLiveLoader(StrVarOrDefault("root:Packages:NCNRItemStr4a","Load NCNR SANS Live Data"))
43//      StrVarOrDefault("root:Packages:NCNRItemStr4b","-"), NCNR_SANSLiveLoader(StrVarOrDefault("root:Packages:NCNRItemStr4b","-"))
44
45        // for testing ONLY
46        "-"
47        "Load Polarization Reduction",PolarizationLoader()
48        "Load Real Space Modeling",RealSpaceLoader()
49        "Event Mode Processing",EventModeLoader()
50        "Load Batch Fitting - Beta",BatchFitLoader()
51        "Load Simulation Run Builder",SimSANSRunListLoader()
52        "Automated SANS Reduction - Beta",AutomateSANSLoader()
53        "-"
54        "Load VSANS Procedures",VSANSLoader()
55
56//      "-"
57
58end
59
60Function NCNR_AnalysisLoader(itemStr)
61        String itemStr
62               
63        if (str2num(stringByKey("IGORVERS",IgorInfo(0))) < 6.2)
64                Abort "Your version of Igor is lower than 6.2, these macros need version 6.2 or higher.... "
65        endif
66       
67        NewDataFolder/O root:Packages           //create the folder for string variable
68        String/G root:Packages:NCNRItemStr1a = itemStr
69        String/G root:Packages:NCNRItemStr1b = itemStr
70        SVAR gMenuStr1a = root:Packages:NCNRItemStr1a
71        SVAR gMenuStr1b = root:Packages:NCNRItemStr1b
72       
73        String SANSAna_WinList = "wrapperPanel;Procedure_List;Report;Plot_Manager;A_FitPanel;A_FitWindow;Sum_Model_Panel;"
74        SANSAna_WinList += "NewGlobalFitPanel;SimpGFPanel;Invariant_Panel;invariant_graph;"
75        strswitch(itemStr)      // string switch
76                case "Load NCNR Analysis Macros":       
77                        Execute/P "INSERTINCLUDE \"SA_Includes_v410\""
78                        Execute/P "COMPILEPROCEDURES "
79                        Execute/P ("Init_WrapperPanel()")
80                        Execute/P ("ModelPicker_Panel()")
81                        Execute/P ("DoIgorMenu \"Control\" \"Retrieve All Windows\"")
82               
83                        gMenuStr1a = "Hide NCNR Analysis Macros"
84//                      gMenuStr1b = "Unload NCNR Analysis Macros"
85                        gMenuStr1b = "-"
86                        BuildMenu "Macros"
87                       
88                        break                                           
89                case "Unload NCNR Analysis Macros":     
90                // very dangerous - don't really want to implement this because it will surely crash
91                        Execute/P "DELETEINCLUDE \"SA_Includes_v410\""
92                        Execute/P "COMPILEPROCEDURES "
93                        DoWindow wrapperPanel
94                        if(V_Flag)
95                                DoWindow/K wrapperPanel
96                        endif
97                        DoWindow Procedure_List
98                        If(V_Flag)
99                                DoWindow/K Procedure_List
100                        endif
101
102                        gMenuStr1a = "Load NCNR Analysis Macros"
103                        gMenuStr1b = "-"
104                       
105                        BuildMenu "Macros"
106                       
107                        break
108                case "Hide NCNR Analysis Macros":       
109                        HideShowWindowsInList(SANSAna_WinList,1)       
110               
111                        gMenuStr1a = "Show NCNR Analysis Macros"
112//                      gMenuStr1b = "Unload NCNR Analysis Macros"
113                        gMenuStr1b = "-"
114                        BuildMenu "Macros"
115                       
116                        break
117                case "Show NCNR Analysis Macros":
118                        HideShowWindowsInList(SANSAna_WinList,0)       
119               
120                        gMenuStr1a = "Hide NCNR Analysis Macros"
121//                      gMenuStr1b = "Unload NCNR Analysis Macros"
122                        gMenuStr1b = "-"
123                        BuildMenu "Macros"
124                       
125                        break
126                default:
127                        Abort "Invalid Menu Selection"
128        endswitch
129
130end
131
132
133// now add for the SANS Reduction
134// a = NCNR
135// b = QUOKKA
136// c = ILL
137// d = HFIR
138// e = HANARO
139//
140Function NCNR_SANSReductionLoader(itemStr)
141        String itemStr
142       
143        if (str2num(stringByKey("IGORVERS",IgorInfo(0))) < 6.2)
144                Abort "Your version of Igor is lower than 6.2, these macros need version 6.2 or higher.... "
145        endif
146       
147        NewDataFolder/O root:Packages           //create the folder for string variable
148
149        String/G root:Packages:NCNRItemStr2a = "Load NCNR SANS Reduction Macros"
150        String/G root:Packages:NCNRItemStr2b = "Load QUOKKA SANS Reduction Macros"
151        String/G root:Packages:NCNRItemStr2c = "Load ILL SANS Reduction Macros"
152        String/G root:Packages:NCNRItemStr2d = "Load HFIR SANS Reduction Macros"
153        String/G root:Packages:NCNRItemStr2e = "Load HANARO SANS Reduction Macros"
154        SVAR gMenuStr2a = root:Packages:NCNRItemStr2a
155        SVAR gMenuStr2b = root:Packages:NCNRItemStr2b
156        SVAR gMenuStr2c = root:Packages:NCNRItemStr2c
157        SVAR gMenuStr2d = root:Packages:NCNRItemStr2d
158        SVAR gMenuStr2e = root:Packages:NCNRItemStr2e
159       
160        String SANSRed_WinList = "Main_Panel;CatVSTable;SANS_Data;Plot_Manager;Average_Panel;Plot_1d;CatWin;Surface_3D;FitPanel;FitWindow;"
161        SANSRed_WinList += "FitRPAPanel;SANS_Histo;drawMaskWin;Multiple_Reduce_Panel;NSORT_Panel;NSORT_Graph;CombineTable;ToCombine;Patch_Panel;"
162        SANSRed_WinList += "ProtocolPanel;Schematic_Layout;Tile_2D;RAW_to_ASCII;Trans_Panel;TransFileTable;ScatterFileTable;Convert_to_Trans;"
163        SANSRed_WinList += "WorkFileMath;Pref_Panel;Subtract_1D_Panel;Plot_Sub1D;SASCALC;MC_SASCALC;Saved_Configurations;TISANE;Sim_1D_Panel;"
164        SANSRed_WinList += "Trial_Configuration;Saved_Configurations;DataArithmeticPanel;DAPlotPanel;"
165        strswitch(itemStr)      // string switch
166       
167                case "Load NCNR SANS Reduction Macros":
168                        Execute/P "INSERTINCLUDE \"Includes_v520\""
169                        Execute/P "COMPILEPROCEDURES "
170                        Execute/P ("Initialize()")
171//                      Execute/P ("PickPath()")
172                        Execute/P ("DoIgorMenu \"Control\" \"Retrieve All Windows\"")
173
174                        // change the facility label, disable the others               
175                        gMenuStr2a = "Hide NCNR SANS Reduction Macros"
176                        gMenuStr2b += "("
177                        gMenuStr2c += "("
178                        gMenuStr2d += "("
179                        gMenuStr2e += "("
180
181                        BuildMenu "Macros"
182                        break           
183                       
184                case "Load QUOKKA SANS Reduction Macros":
185//                      DoAlert 0, "QUOKKA macros not in SVN yet - NCNR macros loaded instead"
186//                      Execute/P "INSERTINCLUDE \"Includes_v520\""
187                        Execute/P "INSERTINCLUDE \"QKK_Includes_ANSTO\""
188                        Execute/P "COMPILEPROCEDURES "
189                        Execute/P ("Initialize()")
190                        Execute/P ("DoIgorMenu \"Control\" \"Retrieve All Windows\"")
191
192                        // change the facility label, disable the others               
193                        gMenuStr2a += "("
194                        gMenuStr2b = "Hide QUOKKA SANS Reduction Macros"
195                        gMenuStr2c += "("
196                        gMenuStr2d += "("
197                        gMenuStr2e += "("
198
199                        BuildMenu "Macros"
200                        break
201                       
202                case "Load ILL SANS Reduction Macros":
203                        Execute/P "INSERTINCLUDE \"ILL_Includes_v520\""
204                        Execute/P "COMPILEPROCEDURES "
205                        Execute/P ("Initialize()")
206                        Execute/P ("DoIgorMenu \"Control\" \"Retrieve All Windows\"")
207
208                        // change the facility label, disable the others               
209                        gMenuStr2a += "("
210                        gMenuStr2b += "("
211                        gMenuStr2c = "Hide ILL SANS Reduction Macros"
212                        gMenuStr2d += "("
213                        gMenuStr2e += "("
214
215                        BuildMenu "Macros"     
216                        break
217                       
218                case "Load HFIR SANS Reduction Macros":
219                        Execute/P "INSERTINCLUDE \"HFIR_Includes_v520\""
220                        Execute/P "COMPILEPROCEDURES "
221                        Execute/P ("Initialize()")
222                        Execute/P ("DoIgorMenu \"Control\" \"Retrieve All Windows\"")
223
224                        // change the facility label, disable the others               
225                        gMenuStr2a += "("
226                        gMenuStr2b += "("
227                        gMenuStr2c += "("
228                        gMenuStr2d = "Hide HFIR SANS Reduction Macros"
229                        gMenuStr2e += "("
230
231                        BuildMenu "Macros"
232                        break
233                       
234                case "Load HANARO SANS Reduction Macros":       
235                Print "HANARO not loaded into SVN yet. NCNR is loaded"
236                        Execute/P "INSERTINCLUDE \"Includes_v520\""
237                        Execute/P "COMPILEPROCEDURES "
238                        Execute/P ("Initialize()")
239                        Execute/P ("DoIgorMenu \"Control\" \"Retrieve All Windows\"")
240
241                        // change the facility label, disable the others               
242                        gMenuStr2a += "("
243                        gMenuStr2b += "("
244                        gMenuStr2c += "("
245                        gMenuStr2d += "("
246                        gMenuStr2e += "Hide HANARO SANS Reduction Macros"
247
248                        BuildMenu "Macros"
249                        break
250                                               
251////////////
252                case "Hide NCNR SANS Reduction Macros":
253                        HideShowWindowsInList(SANSRed_WinList,1)
254
255                        // change the facility label, disable the others               
256                        gMenuStr2a = "Show NCNR SANS Reduction Macros"                 
257                        gMenuStr2b += "("
258                        gMenuStr2c += "("
259                        gMenuStr2d += "("
260                        gMenuStr2e += "("                       
261                       
262                        BuildMenu "Macros"
263                        break
264                       
265                case "Hide QUOKKA SANS Reduction Macros":
266                        HideShowWindowsInList(SANSRed_WinList,1)
267
268                        // change the facility label, disable the others               
269                        gMenuStr2a += "("                       
270                        gMenuStr2b = "Show QUOKKA SANS Reduction Macros"
271                        gMenuStr2c += "("
272                        gMenuStr2d += "("
273                        gMenuStr2e += "("                       
274                       
275                        BuildMenu "Macros"
276                        break                   
277
278                case "Hide ILL SANS Reduction Macros":
279                        HideShowWindowsInList(SANSRed_WinList,1)
280
281                        // change the facility label, disable the others               
282                        gMenuStr2a += "("                       
283                        gMenuStr2b += "("
284                        gMenuStr2c = "Show ILL SANS Reduction Macros"
285                        gMenuStr2d += "("
286                        gMenuStr2e += "("                       
287                       
288                        BuildMenu "Macros"
289                        break
290
291                case "Hide HFIR SANS Reduction Macros":
292                        HideShowWindowsInList(SANSRed_WinList,1)
293
294                        // change the facility label, disable the others               
295                        gMenuStr2a += "("                       
296                        gMenuStr2b += "("
297                        gMenuStr2c += "("
298                        gMenuStr2d = "Show HFIR SANS Reduction Macros"
299                        gMenuStr2e += "("                       
300                       
301                        BuildMenu "Macros"
302                        break
303
304                case "Hide HANARO SANS Reduction Macros":
305                        HideShowWindowsInList(SANSRed_WinList,1)
306
307                        // change the facility label, disable the others               
308                        gMenuStr2a += "("                       
309                        gMenuStr2b += "("
310                        gMenuStr2c += "("
311                        gMenuStr2d += "("
312                        gMenuStr2e = "Show HANARO SANS Reduction Macros"                       
313                       
314                        BuildMenu "Macros"
315                        break
316
317///////////////                 
318                case "Show NCNR SANS Reduction Macros":
319                        HideShowWindowsInList(SANSRed_WinList,0)
320
321                        // change the facility label, disable the others               
322                        gMenuStr2a = "Hide NCNR SANS Reduction Macros"
323                        gMenuStr2b += "("
324                        gMenuStr2c += "("
325                        gMenuStr2d += "("
326                        gMenuStr2e += "("
327
328                        BuildMenu "Macros"
329                        break
330                       
331                case "Show QUOKKA SANS Reduction Macros":       
332                        HideShowWindowsInList(SANSRed_WinList,0)
333
334                        // change the facility label, disable the others               
335                        gMenuStr2a += "("
336                        gMenuStr2b = "Hide QUOKKA SANS Reduction Macros"
337                        gMenuStr2c += "("
338                        gMenuStr2d += "("
339                        gMenuStr2e += "("
340
341                        BuildMenu "Macros"
342                        break
343                       
344                case "Show ILL SANS Reduction Macros": 
345                        HideShowWindowsInList(SANSRed_WinList,0)
346
347                        // change the facility label, disable the others               
348                        gMenuStr2a += "("
349                        gMenuStr2b += "("
350                        gMenuStr2c = "Hide ILL SANS Reduction Macros"
351                        gMenuStr2d += "("
352                        gMenuStr2e += "("
353
354                        BuildMenu "Macros"
355                        break
356                       
357                case "Show HFIR SANS Reduction Macros":
358                        HideShowWindowsInList(SANSRed_WinList,0)
359
360                        // change the facility label, disable the others               
361                        gMenuStr2a += "("
362                        gMenuStr2b += "("
363                        gMenuStr2c += "("
364                        gMenuStr2d = "Hide HFIR SANS Reduction Macros"
365                        gMenuStr2e += "("
366
367                        BuildMenu "Macros"
368                        break
369                       
370                case "Show HANARO SANS Reduction Macros":       
371                        HideShowWindowsInList(SANSRed_WinList,0)
372
373                        // change the facility label, disable the others               
374                        gMenuStr2a += "("
375                        gMenuStr2b += "("
376                        gMenuStr2c += "("
377                        gMenuStr2d += "("
378                        gMenuStr2e = "Hide HANARO SANS Reduction Macros"
379
380                        BuildMenu "Macros"
381                        break
382                       
383                       
384//              case "Unload NCNR SANS Reduction Macros":       
385//              // very dangerous - don't really want to implement this because it will surely crash
386//                      Execute/P "DELETEINCLUDE \"Includes_v520\""
387//                      Execute/P "COMPILEPROCEDURES "
388//                      DoWindow Main_Panel
389//                      if(V_Flag)
390//                              DoWindow/K Main_Panel
391//                      endif
392//
393//                      gMenuStr2a = "Load NCNR SANS Reduction Macros"
394//                      gMenuStr2b = "-"
395//                     
396//                      BuildMenu "Macros"
397//                     
398//                      break                   
399                       
400                default:
401                        Abort "Invalid Menu Selection"
402        endswitch
403
404end
405
406// now add for the USANS Reduction
407// a = NCNR
408// b = HANARO
409Function NCNR_USANSReductionLoader(itemStr)
410        String itemStr
411       
412        if (str2num(stringByKey("IGORVERS",IgorInfo(0))) < 6.2)
413                Abort "Your version of Igor is lower than 6.2, these macros need version 6.2 or higher.... "
414        endif
415       
416        NewDataFolder/O root:Packages           //create the folder for string variable
417        String/G root:Packages:NCNRItemStr3a = "Load NCNR USANS Reduction Macros"
418        String/G root:Packages:NCNRItemStr3b = "Load HANARO USANS Reduction Macros"
419        SVAR gMenuStr3a = root:Packages:NCNRItemStr3a
420        SVAR gMenuStr3b = root:Packages:NCNRItemStr3b
421       
422        String USANS_WinList = "USANS_Panel;COR_Graph;RawDataWin;Desmear_Graph;USANS_Slope;UCALC;"
423       
424        strswitch(itemStr)      // string switch
425                case "Load NCNR USANS Reduction Macros":       
426                        Execute/P "INSERTINCLUDE \"NCNR_USANS_Includes_v230\""
427                        Execute/P "COMPILEPROCEDURES "
428                        Execute/P ("ShowUSANSPanel()")
429                        Execute/P ("DoIgorMenu \"Control\" \"Retrieve All Windows\"")
430
431                        // change the facility label, disable the others               
432                        gMenuStr3a = "Hide NCNR USANS Reduction Macros"
433                        gMenuStr3b += "("
434                       
435                        BuildMenu "Macros"
436                        break   
437                       
438                case "Load HANARO USANS Reduction Macros":     
439                        Execute/P "INSERTINCLUDE \"KIST_USANS_Includes_v230\""
440                        Execute/P "COMPILEPROCEDURES "
441                        Execute/P ("ShowUSANSPanel()")
442                        Execute/P ("DoIgorMenu \"Control\" \"Retrieve All Windows\"")
443
444                        // change the facility label, disable the others
445                        gMenuStr3a += "("
446                        gMenuStr3b = "Hide HANARO USANS Reduction Macros"
447                       
448                        BuildMenu "Macros"
449                        break   
450                                                       
451///////////////////
452
453                case "Hide NCNR USANS Reduction Macros":       
454                        HideShowWindowsInList(USANS_WinList,1) 
455
456                        // change the facility label, disable the others               
457                        gMenuStr3a = "Show NCNR USANS Reduction Macros"
458                        gMenuStr3b += "("
459                                       
460                        BuildMenu "Macros"
461                        break
462                       
463                case "Hide HANARO USANS Reduction Macros":     
464                        HideShowWindowsInList(USANS_WinList,1) 
465
466                        // change the facility label, disable the others
467                        gMenuStr3a += "("
468                        gMenuStr3b = "Show HANARO USANS Reduction Macros"
469                                       
470                        BuildMenu "Macros"
471                        break
472
473///////////////////
474                case "Show NCNR USANS Reduction Macros":
475                        HideShowWindowsInList(USANS_WinList,0) 
476
477                        // change the facility label, disable the others               
478                        gMenuStr3a = "Hide NCNR USANS Reduction Macros"
479                        gMenuStr3b += "("
480                                               
481                        BuildMenu "Macros"
482                        break
483                       
484                case "Show HANARO USANS Reduction Macros":
485                        HideShowWindowsInList(USANS_WinList,0) 
486
487                        // change the facility label, disable the others       
488                        gMenuStr3a += "("
489                        gMenuStr3b = "Hide HANARO USANS Reduction Macros"
490                                               
491                        BuildMenu "Macros"
492                        break
493                       
494                       
495//              case "Unload NCNR USANS Reduction Macros":     
496//              // very dangerous - don't really want to implement this because it will surely crash
497//                      Execute/P "DELETEINCLUDE \"USANS_Includes_v230\""
498//                      Execute/P "COMPILEPROCEDURES "
499//                      DoWindow USANS_Panel
500//                      if(V_Flag)
501//                              DoWindow/K USANS_Panel
502//                      endif
503//
504//                      gMenuStr3a = "Load NCNR USANS Reduction Macros"
505//                      gMenuStr3b = "-"
506//                     
507//                      BuildMenu "Macros"
508//                     
509//                      break                   
510                default:
511                        Abort "Invalid Menu Selection"
512        endswitch
513       
514end
515
516// 1 = hide, 0 = show
517Function HideShowWindowsInList(list,hide)
518        String list
519        Variable hide
520       
521        String item
522        Variable ii,num=ItemsinList(list)
523        for(ii=0;ii<num;ii+=1)
524                item = StringFromList(ii, list , ";")
525                DoWindow $item
526                if(V_Flag)
527                        DoWindow/HIDE=(hide) $item
528                endif
529        endfor
530        return(0)
531End
532
533// now add for the SANS Live
534Function NCNR_SANSLiveLoader(itemStr)
535        String itemStr
536       
537        if (str2num(stringByKey("IGORVERS",IgorInfo(0))) < 6.2)
538                Abort "Your version of Igor is lower than 6.2, these macros need version 6.2 or higher.... "
539        endif
540       
541        NewDataFolder/O root:Packages           //create the folder for string variable
542        String/G root:Packages:NCNRItemStr4a = itemStr
543        String/G root:Packages:NCNRItemStr4b = itemStr
544        SVAR gMenuStr4a = root:Packages:NCNRItemStr4a
545        SVAR gMenuStr4b = root:Packages:NCNRItemStr4b
546       
547        String SANSLive_WinList = "RT_Panel;SANS_Data;"
548        //SANSLive_WinList += "FitRPAPanel;SANS_Histo;drawMaskWin;Multiple_Reduce_Panel;NSORT_Panel;NSORT_Graph;CombineTable;ToCombine;Patch_Panel;"
549        //SANSLive_WinList += "ProtocolPanel;Schematic_Layout;Tile_2D;RAW_to_ASCII;Trans_Panel;TransFileTable;ScatterFileTable;Convert_to_Trans;"
550        //SANSLive_WinList += "WorkFileMath;Pref_Panel;Subtract_1D_Panel;Plot_Sub1D;SASCALC;MC_SASCALC;Saved_Configurations;TISANE;"
551        strswitch(itemStr)      // string switch
552                case "Load NCNR SANS Live Data":       
553                        Execute/P "INSERTINCLUDE \"Includes_v520\""
554                        Execute/P "COMPILEPROCEDURES "
555                        Execute/P ("Init_for_RealTime()")
556               
557                        gMenuStr4a = "Hide NCNR SANS Live Data"
558//                      gMenuStr2b = "Unload NCNR SANS Reduction Macros"
559                        gMenuStr4b = "-"
560                        BuildMenu "Macros"
561                       
562                        break                                           
563                case "Unload NCNR SANS Live Data":     
564                // very dangerous - don't really want to implement this because it will surely crash
565                        Execute/P "DELETEINCLUDE \"Includes_v520\""
566                        Execute/P "COMPILEPROCEDURES "
567                        DoWindow Main_Panel
568                        if(V_Flag)
569                                DoWindow/K Main_Panel
570                        endif
571
572                        gMenuStr4a = "Load NCNR SANS Live Data"
573                        gMenuStr4b = "-"
574                       
575                        BuildMenu "Macros"
576                       
577                        break
578                case "Hide NCNR SANS Live Data":
579                        HideShowWindowsInList(SANSLive_WinList,1)
580               
581                        gMenuStr4a = "Show NCNR SANS Reduction Macros"
582//                      gMenuStr2b = "Unload NCNR SANS Reduction Macros"
583                        gMenuStr4b = "-"
584                        BuildMenu "Macros"
585                       
586                        break
587                case "Show NCNR SANS Reduction Macros":
588                        HideShowWindowsInList(SANSLive_WinList,0)
589               
590                        gMenuStr4a = "Hide NCNR SANS Reduction Macros"
591//                      gMenuStr2b = "Unload NCNR SANS Reduction Macros"
592                        gMenuStr4b = "-"
593                        BuildMenu "Macros"
594                       
595                        break
596                default:
597                        Abort "Invalid Menu Selection"
598        endswitch
599
600end
601
602Function WhatSymbolsAreDefined()
603
604#if (exists("QUOKKA")==6)
605                print "function QUOKKA defined"
606#else
607                print "function QUOKKA NOT defined"
608#endif
609       
610#if(exists("HFIR")==6)
611                print "function HFIR defined"
612#else
613                print "function HFIR NOT defined"
614#endif
615       
616#if(exists("ILL_D22")==6)
617                print "function ILL_D22 defined"
618#else
619                print "function ILL_D22 NOT defined"
620#endif
621
622
623
624// for a lot of reasons, defined symbols do not work
625// mostly, the procedures are compiled before the symbols are
626// defined (or re-defined)
627// another issues is that they are persistent, and  don't disappear
628// until Igor is quit.
629       
630//      SetIgorOption poundDefine=QUOKKA?
631//      if(V_flag)
632//              print "QUOKKA defined"
633//      else
634//              print "QUOKKA NOT defined"
635//      endif
636//     
637//      SetIgorOption poundDefine=HFIR?
638//      if(V_flag)
639//              print "HFIR defined"
640//      else
641//              print "HFIR NOT defined"
642//      endif
643//     
644//      SetIgorOption poundDefine=ILL_D22?
645//      if(V_flag)
646//              print "ILL_D22 defined"
647//      else
648//              print "ILL_D22 NOT defined"
649//      endif
650
651        return(0)
652End
653
654Proc ClearDefinedSymbols()
655        SetIgorOption poundUnDefine=QUOKKA
656        SetIgorOption poundUnDefine=HFIR
657        SetIgorOption poundUnDefine=ILL_D22
658End
659
660Function PolarizationLoader()
661
662        // be sure that the SANS reduction is loaded and compiles
663        NCNR_SANSReductionLoader("Load NCNR SANS Reduction Macros")
664       
665        // then the polarization
666        Execute/P "INSERTINCLUDE \"Include_Polarization\"";Execute/P "COMPILEPROCEDURES "
667        BuildMenu "Macros"
668
669        return(0)
670End
671
672// loads all of the FFT procedures and the fit functions too
673Function RealSpaceLoader()
674
675        // be sure that the SANS Analysis is loaded and compiles
676        NCNR_AnalysisLoader("Load NCNR Analysis Macros")
677       
678        // then the FFT files
679        Execute/P "INSERTINCLUDE \"FFT_Cubes_Includes\""
680        Execute/P "INSERTINCLUDE \"FFT_Fit_Includes\""
681        Execute/P "COMPILEPROCEDURES "
682        Execute/P "Init_FFT()"
683       
684        BuildMenu "Macros"
685
686        return(0)
687End
688
689Function EventModeLoader()
690
691        // be sure that the SANS reduction is loaded and compiles
692        NCNR_SANSReductionLoader("Load NCNR SANS Reduction Macros")
693       
694        // then bring up the Event Mode panel
695        Execute/P "Show_Event_Panel()"
696//      BuildMenu "Macros"
697
698        return(0)
699End
700
701
702// loads the Analysis package, then the AutoFit procedure
703Function BatchFitLoader()
704
705        // be sure that the SANS Analysis is loaded and compiles
706        NCNR_AnalysisLoader("Load NCNR Analysis Macros")
707       
708        // then the AutoFit files
709        Execute/P "INSERTINCLUDE \"Auto_Fit\""
710        Execute/P "COMPILEPROCEDURES "
711        Execute/P "InitializeAutoFitPanel()"
712       
713        BuildMenu "Macros"
714
715        return(0)
716End
717
718// loads the Reduction package, then the Auto_Reduction panel
719Function AutomateSANSLoader()
720
721        // be sure that the SANS reduction is loaded and compiles
722        NCNR_SANSReductionLoader("Load NCNR SANS Reduction Macros")
723       
724        // then bring up the Auto_reduction panel
725        Execute/P "Auto_Reduce_Panel()"
726       
727        return(0)
728End
729
730
731
732// for SANS simulation scripting, need to load the reduction, analysis,
733// then the two scripting procedures
734//
735// -- this is to avoid the entanglement betwen analysis models and SASCALC (in reduction)
736//
737Function SimSANSRunListLoader()
738
739        // be sure that the SANS reduction is loaded and compiles
740        NCNR_SANSReductionLoader("Load NCNR SANS Reduction Macros")
741       
742        // be sure that the SANS Analysis is loaded and compiles
743        NCNR_AnalysisLoader("Load NCNR Analysis Macros")
744       
745        // then the Scripting files
746        Execute/P "INSERTINCLUDE \"MC_SimulationScripting\""
747        Execute/P "INSERTINCLUDE \"MC_Script_Panels\""
748        Execute/P "COMPILEPROCEDURES "
749//      Execute/P "InitializeAutoFitPanel()"
750       
751        BuildMenu "Macros"
752        return(0)
753End
754
755
756// loads the VSANS package and initializes
757Function VSANSLoader()
758       
759        Execute/P "INSERTINCLUDE \"VSANS_Includes\""
760        Execute/P "COMPILEPROCEDURES "
761        Execute/P "Initialize_VSANS()"
762       
763        BuildMenu "Macros"
764
765        return(0)
766End
767
Note: See TracBrowser for help on using the repository browser.