Ignore:
Timestamp:
Sep 12, 2008 9:25:36 PM (14 years ago)
Author:
ajj
Message:

Refactoring USANS functions to use root:Packages:NIST:USANS as their base to comply with canSAS proposal.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sans/Dev/trunk/NCNR_User_Procedures/USANS/COR_Graph.ipf

    r328 r404  
    2323// 
    2424Function DoCORGraph() 
     25 
     26        SVAR USANSFolder = root:Packages:NIST:USANS:Globals:gUSANSFolder 
    2527         
    2628        DoWindow/F COR_Graph 
     
    3234                SetVariable gTransWide,pos={210,12},size={135,15},title="Trans - Wide",format="%5.4f" 
    3335                SetVariable gTransWide,help={"Average counts on transmssion detector at wide angles"} 
    34                 SetVariable gTransWide,limits={0,1,0.001},value= root:Globals:MainPanel:gTransWide 
     36                SetVariable gTransWide,limits={0,1,0.001},value= $(USANSFolder+":Globals:MainPanel:gTransWide") 
    3537                SetVariable gTransRock,pos={210,27},size={135,15},title="Trans - Rock",format="%5.4f" 
    3638                SetVariable gTransRock,help={"Transmission counts at the zero-angle peak"} 
    37                 SetVariable gTransRock,limits={0,1,0.001},value= root:Globals:MainPanel:gTransRock 
     39                SetVariable gTransRock,limits={0,1,0.001},value= $(USANSFolder+":Globals:MainPanel:gTransRock") 
    3840                SetVariable gEmpCts,pos={210,42},size={135,15},title="EMP Level",format="%7.4f" 
    39                 SetVariable gEmpCts,limits={-Inf,Inf,0.1},value= root:Globals:MainPanel:gEmpCts 
     41                SetVariable gEmpCts,limits={-Inf,Inf,0.1},value= $(USANSFolder+":Globals:MainPanel:gEmpCts") 
    4042                SetVariable gEmpCts,help={"High q limit of empty cell scattering normalized to 1.0e6 monitor counts"} 
    4143                SetVariable gBkgCts,pos={210,57},size={135,15},title="BKG Level",format="%7.4f" 
    42                 SetVariable gBkgCts,limits={-Inf,Inf,0.1},value= root:Globals:MainPanel:gBkgCts 
     44                SetVariable gBkgCts,limits={-Inf,Inf,0.1},value= $(USANSFolder+":Globals:MainPanel:gBkgCts") 
    4345                SetVariable gBkgCts,help={"Background scattering level normalized to 1.0e6 monitor counts"} 
    4446                SetVariable gThick,pos={210,72},size={135,15},title="SAM Thick(cm)",format="%5.4f" 
    4547                SetVariable gThick,help={"Thickness of the sample in centimeters"} 
    46                 SetVariable gThick,limits={0,5,0.01},value= root:Globals:MainPanel:gThick 
     48                SetVariable gThick,limits={0,5,0.01},value= $(USANSFolder+":Globals:MainPanel:gThick") 
    4749                Button UpdateButton,pos={115,19},size={88,20},proc=UpdateButtonProc,title="Update Trans" 
    4850                Button UpdateButton,help={"Updates both the wide and rocking transmission values based on the raw data files"} 
     
    9496// 
    9597Function GraphSAM() 
     98 
     99        SVAR USANSFolder = root:Packages:NIST:USANS:Globals:gUSANSFolder 
     100 
    96101        //is it already on the graph? 
    97         SetDataFolder root:Graph 
     102        SetDataFolder $(USANSFolder+":Graph") 
    98103        String list="" 
    99104        list = Wavelist("DetCts_SAM*",";","WIN:COR_Graph") 
    100         SetDataFolder root: 
    101105        if(strlen(list)!=0) 
    102106                //Print "SAM already on graph" 
     
    104108        Endif 
    105109        //append the data if it exists 
    106         If(waveExists($"root:Graph:DetCts_SAM")==1) 
     110        If(waveExists($"DetCts_SAM")==1) 
    107111                DoWindow/F COR_Graph 
    108                 AppendToGraph :Graph:DetCts_SAM vs :Graph:Qvals_SAM 
     112                AppendToGraph DetCts_SAM vs Qvals_SAM 
    109113                ModifyGraph rgb(DetCts_SAM)=(1,12815,52428) 
    110114                ModifyGraph mode(DetCts_SAM)=3,marker(DetCts_SAM)=19,msize(DetCts_SAM)=2 
    111115                ModifyGraph tickUnit=1 
    112                 ErrorBars DetCts_SAM Y,wave=(:Graph:ErrDetCts_SAM,:Graph:ErrDetCts_SAM) 
     116                ErrorBars DetCts_SAM Y,wave=(ErrDetCts_SAM,ErrDetCts_SAM) 
    113117        endif 
     118        SetDataFolder root: 
    114119End 
    115120 
     
    117122// 
    118123Function GraphEMP() 
    119         SetDataFolder root:Graph 
     124 
     125        SVAR USANSFolder = root:Packages:NIST:USANS:Globals:gUSANSFolder 
     126 
     127        SetDataFolder $(USANSFolder+":Graph") 
    120128        String list="" 
    121129        list = Wavelist("DetCts_EMP*",";","WIN:COR_Graph") 
    122         SetDataFolder root: 
    123130        if(strlen(list)!=0) 
    124131        //      Print "EMP already on graph" 
     
    126133        Endif 
    127134        //append the data if it exists 
    128         If(waveExists($"root:Graph:DetCts_EMP")==1) 
     135        If(waveExists($"DetCts_EMP")==1) 
    129136                DoWindow/F COR_Graph 
    130                 AppendToGraph :Graph:DetCts_EMP vs :Graph:Qvals_EMP 
     137                AppendToGraph DetCts_EMP vs Qvals_EMP 
    131138                ModifyGraph msize(DetCts_EMP)=2,rgb(DetCts_EMP)=(1,39321,19939) 
    132139                ModifyGraph mode(DetCts_EMP)=3,marker(DetCts_EMP)=19 
    133140                ModifyGraph tickUnit=1 
    134                 ErrorBars DetCts_EMP Y,wave=(:Graph:ErrDetCts_EMP,:Graph:ErrDetCts_EMP) 
     141                ErrorBars DetCts_EMP Y,wave=(ErrDetCts_EMP,ErrDetCts_EMP) 
    135142        endif 
     143        SetDataFolder root: 
    136144        return(0) 
    137145End 
     
    140148// 
    141149Function GraphCOR() 
    142         SetDataFolder root:Graph 
     150        SVAR USANSFolder = root:Packages:NIST:USANS:Globals:gUSANSFolder 
     151 
     152        SetDataFolder $(USANSFolder+":Graph") 
     153         
    143154        String list="" 
    144155        list = Wavelist("DetCts_COR*",";","WIN:COR_Graph") 
    145         SetDataFolder root: 
    146156        if(strlen(list)!=0) 
    147157        //      Print "COR already on graph" 
     
    149159        Endif 
    150160        //append the data if it exists 
    151         If(waveExists($"root:Graph:DetCts_COR")==1) 
     161        If(waveExists($"DetCts_COR")==1) 
    152162                DoWindow/F COR_Graph 
    153                 AppendToGraph :Graph:DetCts_COR vs :Graph:Qvals_COR 
     163                AppendToGraph DetCts_COR vs Qvals_COR 
    154164                ModifyGraph msize(DetCts_COR)=2,rgb(DetCts_COR)=(52428,34958,1) 
    155165                ModifyGraph mode(DetCts_COR)=3,marker(DetCts_COR)=19 
    156166                ModifyGraph tickUnit=1 
    157                 ErrorBars DetCts_COR Y,wave=(:Graph:ErrDetCts_COR,:Graph:ErrDetCts_COR) 
     167                ErrorBars DetCts_COR Y,wave=(ErrDetCts_COR,ErrDetCts_COR) 
    158168        endif 
     169 
     170        SetDataFolder root: 
    159171        return(0) 
    160172End 
     
    162174// add horizoontal lines for the background and empty cell levels 
    163175Function GraphEMPBKGLevels() 
     176 
     177        SVAR USANSFolder = root:Packages:NIST:USANS:Globals:gUSANSFolder 
     178 
    164179        //if the data is on the graph, remove them and replot, to properly reset the scale 
    165180        DoUpdate 
     
    172187        Endif 
    173188        DoUpdate 
    174         AppendToGraph :EMP:EMPLevel,:BKG:BKGLevel 
     189        AppendToGraph $(USANSFolder+":EMP:EMPLevel"),$(USANSFolder+":BKG:BKGLevel") 
    175190        ModifyGraph rgb(empLevel)=(0,0,0),lsize(bkgLevel)=2,rgb(bkgLevel)=(52428,1,1) 
    176191        ModifyGraph lsize(empLevel)=2,offset={0,0} 
    177192        ModifyGraph tickUnit=1 
    178193        GetAxis/W=COR_Graph/Q bottom 
    179         SetScale/I x V_min,V_max,"",:EMP:EMPLevel,:BKG:BKGLevel 
     194        SetScale/I x V_min,V_max,"",$(USANSFolder+":EMP:EMPLevel"),$(USANSFolder+":BKG:BKGLevel") 
    180195        return(0) 
    181196End 
     
    188203Function SaveButtonProc(ctrlName) : ButtonControl 
    189204        String ctrlName 
     205 
     206        SVAR USANSFolder = root:Packages:NIST:USANS:Globals:gUSANSFolder 
    190207         
    191208        PathInfo/S savePathName 
     
    199216         
    200217        //check for data save type (controlled by radio buttons) 
    201         NVAR gRadioVal=root:Globals:MainPanel:gTypeCheck                //1=COR,2=SAM,3=EMP 
     218        NVAR gRadioVal=$(USANSFolder+":Globals:MainPanel:gTypeCheck")           //1=COR,2=SAM,3=EMP 
    202219        switch(gRadioVal) 
    203220                case 1: //COR 
     
    220237        //if so, read off the point range (cursors should be on the same wave as the save type) 
    221238        if(useCrsrs) 
    222                 Wave xwave=$("root:Graph:Qvals_"+type) 
     239                Wave xwave=$(USANSFolder+":Graph:Qvals_"+type) 
    223240                ptA=x2pnt(xwave,xcsr(A)) 
    224241                ptB=x2pnt(xwave,xcsr(B)) 
     
    244261        Variable checked 
    245262         
    246         NVAR gRadioVal=root:Globals:MainPanel:gTypeCheck                //1=COR,2=SAM,3=EMP 
     263        SVAR USANSFolder = root:Packages:NIST:USANS:Globals:gUSANSFolder 
     264         
     265        NVAR gRadioVal=$(USANSFolder+":Globals:MainPanel:gTypeCheck")           //1=COR,2=SAM,3=EMP 
    247266        String type="" 
    248267        switch(gRadioVal) 
     
    267286                Variable ok=WhichListItem(yname, str,";",0) 
    268287                if(ok != -1) 
    269                         Wave ywave=$("root:Graph:DetCts_"+type) 
     288                        Wave ywave=$(USANSFolder+":Graph:DetCts_"+type) 
    270289                        Showinfo/W=COR_Graph 
    271290                        Cursor/A=1/P/S=1 A,$yname,0 
     
    293312        String ctrlName 
    294313        Variable checked 
    295          
    296         NVAR gRadioVal=root:Globals:MainPanel:gTypeCheck 
     314 
     315        SVAR USANSFolder = root:Packages:NIST:USANS:Globals:gUSANSFolder 
     316 
     317        NVAR gRadioVal=$(USANSFolder+":Globals:MainPanel:gTypeCheck") 
    297318         
    298319        strswitch(ctrlName) 
     
    323344Function UpdateButtonProc(ctrlName) : ButtonControl 
    324345        String ctrlName 
    325          
    326         Wave samCts=$"root:SAM:DetCts" 
    327         Wave empCts=$"root:EMP:DetCts" 
     346 
     347        SVAR USANSFolder = root:Packages:NIST:USANS:Globals:gUSANSFolder 
     348         
     349        Wave samCts=$(USANSFolder+":SAM:DetCts") 
     350        Wave empCts=$(USANSFolder+":EMP:DetCts") 
    328351        if((WaveExists(samCts)==0) || (WaveExists(empCts)==0)) 
    329                 Variable/G root:Globals:MainPanel:gTransWide=NaN                //error 
    330                 Variable/G root:Globals:MainPanel:gTransRock=NaN 
     352                Variable/G $(USANSFolder+":Globals:MainPanel:gTransWide")=NaN           //error 
     353                Variable/G $(USANSFolder+":Globals:MainPanel:gTransRock")=NaN 
    331354                return(1) 
    332355        Endif 
     
    338361        samRock = NumberByKey("PEAKVAL",samNote,":",";") 
    339362        empRock = NumberByKey("PEAKVAL",empNote,":",";") 
    340         Variable/G root:Globals:MainPanel:gTransWide=samWide/empWide 
    341         Variable/G root:Globals:MainPanel:gTransRock=samRock/empRock 
     363        Variable/G $(USANSFolder+":Globals:MainPanel:gTransWide")=samWide/empWide 
     364        Variable/G $(USANSFolder+":Globals:MainPanel:gTransRock")=samRock/empRock 
    342365         
    343366        return(0) 
     
    385408Function QpkFromNote(type) 
    386409        String type 
    387          
    388         Wave/Z detCts=$("root:Graph:DetCts_"+type) 
     410 
     411        SVAR USANSFolder = root:Packages:NIST:USANS:Globals:gUSANSFolder 
     412                 
     413        Wave/Z detCts=$(USANSFolder+":Graph:DetCts_"+type) 
    389414        if(!WaveExists(detCts)) 
    390415                return(NaN) 
     
    406431        String type 
    407432        Variable zeroAngle 
     433 
     434        SVAR USANSFolder = root:Packages:NIST:USANS:Globals:gUSANSFolder 
    408435         
    409436        //SETS the wave note with the PEAKANG value 
     
    418445        //use the listBox wave directly 
    419446         
    420         Wave/T listW=$("root:Globals:MainPanel:"+type+"Wave") 
     447        Wave/T listW=$(USANSFolder+":Globals:MainPanel:"+type+"Wave") 
    421448        Variable ii,num=numpnts(listW) 
    422449        String fname="",fpath="" 
     
    447474         
    448475        //find the peak value at the supplied angle, rather than automatic... 
    449         Wave tmpangle = $("root:"+type+":Angle") 
    450         Wave tmpdetCts = $("root:"+type+":DetCts") 
     476        Wave tmpangle = $(USANSFolder+":"+type+":Angle") 
     477        Wave tmpdetCts = $(USANSFolder+":"+type+":DetCts") 
    451478        Variable pkHt=0 
    452479        pkHt = interp(zeroAngle,tmpangle,tmpdetcts) 
     
    463490        // 
    464491        //copy the data to plot to the root:Graph directory, and give clear names 
    465         if(WaveExists($("root:"+type+":Qvals"))) 
    466                 Duplicate/O $("root:"+type+":Qvals"),$("root:Graph:Qvals_"+type) 
    467         Endif 
    468         Duplicate/O $("root:"+type+":Angle"),$("root:Graph:Angle_"+type) 
    469         Duplicate/O $("root:"+type+":DetCts"),$("root:Graph:DetCts_"+type) 
    470         Duplicate/O $("root:"+type+":ErrDetCts"),$("root:Graph:ErrDetCts_"+type) 
     492        if(WaveExists($(USANSFolder+":"+type+":Qvals"))) 
     493                Duplicate/O $(USANSFolder+":"+type+":Qvals"),$(USANSFolder+":Graph:Qvals_"+type) 
     494        Endif 
     495        Duplicate/O $(USANSFolder+":"+type+":Angle"),$(USANSFolder+":Graph:Angle_"+type) 
     496        Duplicate/O $(USANSFolder+":"+type+":DetCts"),$(USANSFolder+":Graph:DetCts_"+type) 
     497        Duplicate/O $(USANSFolder+":"+type+":ErrDetCts"),$(USANSFolder+":Graph:ErrDetCts_"+type) 
    471498         
    472499        //now plot the data (or just bring the graph to the front) 
Note: See TracChangeset for help on using the changeset viewer.