Ignore:
Timestamp:
Aug 3, 2009 6:22:39 PM (13 years ago)
Author:
srkline
Message:

Lots of changes to add the first version of a USANS simulator, like SASCALC

(!) first issue is with the entanglement of dependencies - need to load SANS macros first!

otherwise, worth a first test for interface and accuracy. behavior is similar to the 1D SASCALC

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sans/Dev/trunk/NCNR_User_Procedures/Common/Packages/PlotManager/PlotUtilsMacro_v40.ipf

    r516 r544  
    902902        return outputPath 
    903903End 
     904 
     905// a function common to many panels, so put the basic version here that simply 
     906// returns null string if no functions are present. Calling procedures can  
     907// add to the list to customize as needed. 
     908// show the available models 
     909// not the f*(cw,xw) point calculations 
     910// not the *X(cw,xw) XOPS 
     911// 
     912// KIND:10 should show only user-defined curve fitting functions 
     913// - not XOPs 
     914// - not other user-defined functions 
     915Function/S User_FunctionPopupList() 
     916        String list,tmp 
     917        list = FunctionList("*",";","KIND:10")          //get every user defined curve fit function 
     918 
     919        //now start to remove everything the user doesn't need to see... 
     920 
     921        tmp = FunctionList("*_proto",";","KIND:10")             //prototypes 
     922        list = RemoveFromList(tmp, list  ,";") 
     923         
     924        //prototypes that show up if GF is loaded 
     925        list = RemoveFromList("GFFitFuncTemplate", list) 
     926        list = RemoveFromList("GFFitAllAtOnceTemplate", list) 
     927        list = RemoveFromList("NewGlblFitFunc", list) 
     928        list = RemoveFromList("NewGlblFitFuncAllAtOnce", list) 
     929        list = RemoveFromList("GlobalFitFunc", list) 
     930        list = RemoveFromList("GlobalFitAllAtOnce", list) 
     931        list = RemoveFromList("GFFitAAOStructTemplate", list) 
     932        list = RemoveFromList("NewGF_SetXWaveInList", list) 
     933        list = RemoveFromList("NewGlblFitFuncAAOStruct", list) 
     934         
     935        // more to remove as a result of 2D/Gizmo 
     936        list = RemoveFromList("A_WMRunLessThanDelta", list) 
     937        list = RemoveFromList("WMFindNaNValue", list) 
     938        list = RemoveFromList("WM_Make3DBarChartParametricWave", list) 
     939        list = RemoveFromList("UpdateQxQy2Mat", list) 
     940        list = RemoveFromList("MakeBSMask", list) 
     941         
     942        // MOTOFIT/GenFit bits 
     943        tmp = "GEN_allatoncefitfunc;GEN_fitfunc;GetCheckBoxesState;MOTO_GFFitAllAtOnceTemplate;MOTO_GFFitFuncTemplate;MOTO_NewGF_SetXWaveInList;MOTO_NewGlblFitFunc;MOTO_NewGlblFitFuncAllAtOnce;GeneticFit_UnSmearedModel;GeneticFit_SmearedModel;" 
     944        list = RemoveFromList(tmp, list  ,";") 
     945 
     946        // SANS Reduction bits 
     947        tmp = "ASStandardFunction;Ann_1D_Graph;Avg_1D_Graph;BStandardFunction;CStandardFunction;Draw_Plot1D;MyMat2XYZ;NewDirection;SANSModelAAO_MCproto;Monte_SANS_Threaded;Monte_SANS_NotThreaded;Monte_SANS_W1;Monte_SANS_W2;Monte_SANS;FractionReachingDetector;" 
     948        list = RemoveFromList(tmp, list  ,";") 
     949 
     950        // USANS Reduction bits 
     951        tmp = "DSM_Guinier_Fit;RemoveMaskedPoints;" 
     952        list = RemoveFromList(tmp, list  ,";") 
     953 
     954        //more functions from analysis models (2008) 
     955        tmp = "Barbell_Inner;Barbell_Outer;Barbell_integrand;BCC_Integrand;Integrand_BCC_Inner;Integrand_BCC_Outer;" 
     956        list = RemoveFromList(tmp, list  ,";") 
     957        tmp = "CapCyl;CapCyl_Inner;CapCyl_Outer;ConvLens;ConvLens_Inner;ConvLens_Outer;" 
     958        list = RemoveFromList(tmp, list  ,";") 
     959        tmp = "Dumb;Dumb_Inner;Dumb_Outer;FCC_Integrand;Integrand_FCC_Inner;Integrand_FCC_Outer;" 
     960        list = RemoveFromList(tmp, list  ,";") 
     961        tmp = "Integrand_SC_Inner;Integrand_SC_Outer;SC_Integrand;SphCyl;SphCyl_Inner;SphCyl_Outer;" 
     962        list = RemoveFromList(tmp, list  ,";") 
     963 
     964 
     965        tmp = FunctionList("f*",";","NPARAMS:2")                //point calculations 
     966        list = RemoveFromList(tmp, list  ,";") 
     967         
     968        tmp = FunctionList("fSmear*",";","NPARAMS:3")           //smeared dependency calculations 
     969        list = RemoveFromList(tmp, list  ,";") 
     970         
     971//      tmp = FunctionList("*X",";","KIND:4")           //XOPs, but these shouldn't show up if KIND:10 is used initially 
     972//      Print "X* = ",tmp 
     973//      print " " 
     974//      list = RemoveFromList(tmp, list  ,";") 
     975         
     976        //non-fit functions that I can't seem to filter out 
     977        list = RemoveFromList("BinaryHS_PSF11;BinaryHS_PSF12;BinaryHS_PSF22;EllipCyl_Integrand;PP_Inner;PP_Outer;Phi_EC;TaE_Inner;TaE_Outer;",list,";") 
     978 
     979        list = SortList(list) 
     980        return(list) 
     981End 
Note: See TracChangeset for help on using the changeset viewer.