Ignore:
Timestamp:
Jul 21, 2017 2:56:37 PM (5 years ago)
Author:
srkline
Message:

adding the annular average option to the protocol definition and execution.

Location:
sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_IQ_Annular.ipf

    r1056 r1057  
    1212// TODO 
    1313// x- add error bars to the plot of phi 
    14 // -- data writer to export annular data (3-column) 
    15 // -- loader to re-read annular data (will the normal loader work? 
     14// x- data writer to export annular data (3-column) 
     15// x- loader to re-read annular data (will the normal loader work?) -- yes 
    1616// -- integrate this with the protocol 
    1717// -- integrate this with a more general "average panel" 
     
    6969        String fldrSav0= GetDataFolder(1) 
    7070        SetDataFolder $("root:Packages:NIST:VSANS:"+folderStr) 
    71         Display /W=(35,45,572,419) iBin_qxqy_FLRTB vs phiBin_qxqy_FLRTB 
     71        Display /W=(35,45,572,419) /K=1 iBin_qxqy_FLRTB vs phiBin_qxqy_FLRTB 
    7272        ModifyGraph mode=4 
    7373        ModifyGraph marker=19 
     
    124124 
    125125        strswitch(type) // string switch 
    126 //              case "FL":              // execute if case matches expression 
    127 //              case "FR": 
    128 //                      detStr = type 
    129 //                      if(isVCALC) 
    130 //                              WAVE inten = $(folderPath+instPath+detStr+":det_"+detStr) 
    131 //                              WAVE/Z iErr = $("iErr_"+detStr)                 // 2D errors -- may not exist, especially for simulation 
    132 //                      else 
    133 //                              Wave inten = V_getDetectorDataW(folderStr,detStr) 
    134 //                              Wave iErr = V_getDetectorDataErrW(folderStr,detStr) 
    135 //                              Wave/Z mask = $("root:Packages:NIST:VSANS:MSK:entry:instrument:detector_"+detStr+":data") 
    136 //                              if(WaveExists(mask) == 1) 
    137 //                                      maskMissing = 0 
    138 //                              endif 
    139 //                               
    140 //                      endif 
    141 //                      NVAR delQ = $(folderPath+instPath+detStr+":gDelQ_"+detStr) 
    142 //                      Wave qTotal = $(folderPath+instPath+detStr+":qTot_"+detStr)                     // 2D q-values 
    143 //                      nSets = 1 
    144 //                      break    
    145 //                                                               
    146 //              case "FT":               
    147 //              case "FB": 
    148 //                      detStr = type 
    149 //                      if(isVCALC) 
    150 //                              WAVE inten = $(folderPath+instPath+detStr+":det_"+detStr) 
    151 //                              WAVE/Z iErr = $("iErr_"+detStr)                 // 2D errors -- may not exist, especially for simulation                 
    152 //                      else 
    153 //                              Wave inten = V_getDetectorDataW(folderStr,detStr) 
    154 //                              Wave iErr = V_getDetectorDataErrW(folderStr,detStr) 
    155 //                              Wave/Z mask = $("root:Packages:NIST:VSANS:MSK:entry:instrument:detector_"+detStr+":data") 
    156 //                              if(WaveExists(mask) == 1) 
    157 //                                      maskMissing = 0 
    158 //                              endif 
    159 //                      endif 
    160 //                      NVAR delQ = $(folderPath+instPath+detStr+":gDelQ_"+detStr) 
    161 //                      Wave qTotal = $(folderPath+instPath+detStr+":qTot_"+detStr)                     // 2D q-values 
    162 //                      nSets = 1 
    163 //                      break 
    164 //                       
    165 //              case "ML":               
    166 //              case "MR": 
    167 //                      detStr = type 
    168 //                      if(isVCALC) 
    169 //                              WAVE inten = $(folderPath+instPath+detStr+":det_"+detStr) 
    170 //                              WAVE/Z iErr = $("iErr_"+detStr)                 // 2D errors -- may not exist, especially for simulation                 
    171 //                      else 
    172 //                              Wave inten = V_getDetectorDataW(folderStr,detStr) 
    173 //                              Wave iErr = V_getDetectorDataErrW(folderStr,detStr) 
    174 //                              Wave/Z mask = $("root:Packages:NIST:VSANS:MSK:entry:instrument:detector_"+detStr+":data") 
    175 //                              if(WaveExists(mask) == 1) 
    176 //                                      maskMissing = 0 
    177 //                              endif 
    178 //                      endif    
    179 //                      //TODO: 
    180 //                      // -- decide on the proper deltaQ for binning. either nominal value for LR, or one  
    181 //                      //    determined specifically for that panel (currently using one tube width as deltaQ) 
    182 //                      // -- this is repeated multiple times in this switch 
    183 //                      NVAR delQ = $(folderPath+instPath+detStr+":gDelQ_"+detStr) 
    184 ////                    NVAR delQ = $(folderPath+instPath+"ML"+":gDelQ_ML") 
    185 //                      Wave qTotal = $(folderPath+instPath+detStr+":qTot_"+detStr)                     // 2D q-values 
    186 //                      nSets = 1 
    187 //                      break    
    188 //                                       
    189 //              case "MT":               
    190 //              case "MB": 
    191 //                      detStr = type 
    192 //                      if(isVCALC) 
    193 //                              WAVE inten = $(folderPath+instPath+detStr+":det_"+detStr) 
    194 //                              WAVE/Z iErr = $("iErr_"+detStr)                 // 2D errors -- may not exist, especially for simulation                 
    195 //                      else 
    196 //                              Wave inten = V_getDetectorDataW(folderStr,detStr) 
    197 //                              Wave iErr = V_getDetectorDataErrW(folderStr,detStr) 
    198 //                              Wave/Z mask = $("root:Packages:NIST:VSANS:MSK:entry:instrument:detector_"+detStr+":data") 
    199 //                              if(WaveExists(mask) == 1) 
    200 //                                      maskMissing = 0 
    201 //                              endif 
    202 //                      endif    
    203 //                      NVAR delQ = $(folderPath+instPath+detStr+":gDelQ_"+detStr) 
    204 //                      Wave qTotal = $(folderPath+instPath+detStr+":qTot_"+detStr)                     // 2D q-values 
    205 //                      nSets = 1 
    206 //                      break    
    207 //                                       
    208 //              case "B":        
    209 //                      detStr = type 
    210 //                      if(isVCALC) 
    211 //                              WAVE inten = $(folderPath+instPath+detStr+":det_"+detStr) 
    212 //                              WAVE/Z iErr = $("iErr_"+detStr)                 // 2D errors -- may not exist, especially for simulation                 
    213 //                      else 
    214 //                              Wave inten = V_getDetectorDataW(folderStr,detStr) 
    215 //                              Wave iErr = V_getDetectorDataErrW(folderStr,detStr) 
    216 //                              Wave/Z mask = $("root:Packages:NIST:VSANS:MSK:entry:instrument:detector_"+detStr+":data") 
    217 //                              if(WaveExists(mask) == 1) 
    218 //                                      maskMissing = 0 
    219 //                              endif 
    220 //                      endif    
    221 //                      NVAR delQ = $(folderPath+instPath+detStr+":gDelQ_B") 
    222 //                      Wave qTotal = $(folderPath+instPath+detStr+":qTot_"+detStr)                     // 2D q-values   
    223 //                      nSets = 1 
    224 //                      break    
    225 //                       
    226 //              case "FLR": 
    227 //              // detStr has multiple values now, so unfortuntely, I'm hard-wiring things... 
    228 //              // TODO 
    229 //              // -- see if I can un-hard-wire some of this below when more than one panel is combined 
    230 //                      if(isVCALC) 
    231 //                              WAVE inten = $(folderPath+instPath+"FL"+":det_"+"FL") 
    232 //                              WAVE/Z iErr = $("iErr_"+"FL")                   // 2D errors -- may not exist, especially for simulation                 
    233 //                              WAVE inten2 = $(folderPath+instPath+"FR"+":det_"+"FR") 
    234 //                              WAVE/Z iErr2 = $("iErr_"+"FR")                  // 2D errors -- may not exist, especially for simulation         
    235 //                      else 
    236 //                              Wave inten = V_getDetectorDataW(folderStr,"FL") 
    237 //                              Wave iErr = V_getDetectorDataErrW(folderStr,"FL") 
    238 //                              Wave inten2 = V_getDetectorDataW(folderStr,"FR") 
    239 //                              Wave iErr2 = V_getDetectorDataErrW(folderStr,"FR") 
    240 //                              Wave/Z mask = $("root:Packages:NIST:VSANS:MSK:entry:instrument:detector_"+"FL"+":data") 
    241 //                              Wave/Z mask2 = $("root:Packages:NIST:VSANS:MSK:entry:instrument:detector_"+"FR"+":data") 
    242 //                              if(WaveExists(mask) == 1 && WaveExists(mask2) == 1) 
    243 //                                      maskMissing = 0 
    244 //                              endif 
    245 //                      endif    
    246 //                      NVAR delQ = $(folderPath+instPath+"FL"+":gDelQ_FL") 
    247 //                       
    248 //                      Wave qTotal = $(folderPath+instPath+"FL"+":qTot_"+"FL")                 // 2D q-values   
    249 //                      Wave qTotal2 = $(folderPath+instPath+"FR"+":qTot_"+"FR")                        // 2D q-values   
    250 //               
    251 //                      nSets = 2 
    252 //                      break                    
    253 //               
    254 //              case "FTB": 
    255 //                      if(isVCALC) 
    256 //                              WAVE inten = $(folderPath+instPath+"FT"+":det_"+"FT") 
    257 //                              WAVE/Z iErr = $("iErr_"+"FT")                   // 2D errors -- may not exist, especially for simulation                 
    258 //                              WAVE inten2 = $(folderPath+instPath+"FB"+":det_"+"FB") 
    259 //                              WAVE/Z iErr2 = $("iErr_"+"FB")                  // 2D errors -- may not exist, especially for simulation         
    260 //                      else 
    261 //                              Wave inten = V_getDetectorDataW(folderStr,"FT") 
    262 //                              Wave iErr = V_getDetectorDataErrW(folderStr,"FT") 
    263 //                              Wave inten2 = V_getDetectorDataW(folderStr,"FB") 
    264 //                              Wave iErr2 = V_getDetectorDataErrW(folderStr,"FB") 
    265 //                              Wave/Z mask = $("root:Packages:NIST:VSANS:MSK:entry:instrument:detector_"+"FT"+":data") 
    266 //                              Wave/Z mask2 = $("root:Packages:NIST:VSANS:MSK:entry:instrument:detector_"+"FB"+":data") 
    267 //                              if(WaveExists(mask) == 1 && WaveExists(mask2) == 1) 
    268 //                                      maskMissing = 0 
    269 //                              endif 
    270 //                      endif    
    271 //                      NVAR delQ = $(folderPath+instPath+"FT"+":gDelQ_FT") 
    272 //                       
    273 //                      Wave qTotal = $(folderPath+instPath+"FT"+":qTot_"+"FT")                 // 2D q-values   
    274 //                      Wave qTotal2 = $(folderPath+instPath+"FB"+":qTot_"+"FB")                        // 2D q-values   
    275 //       
    276 //                      nSets = 2 
    277 //                      break            
     126 
    278127                 
    279128                case "FLRTB": 
     
    324173                        break            
    325174                         
    326 //              case "MLR": 
    327 //                      if(isVCALC) 
    328 //                              WAVE inten = $(folderPath+instPath+"ML"+":det_"+"ML") 
    329 //                              WAVE/Z iErr = $("iErr_"+"ML")                   // 2D errors -- may not exist, especially for simulation                 
    330 //                              WAVE inten2 = $(folderPath+instPath+"MR"+":det_"+"MR") 
    331 //                              WAVE/Z iErr2 = $("iErr_"+"MR")                  // 2D errors -- may not exist, especially for simulation         
    332 //                      else 
    333 //                              Wave inten = V_getDetectorDataW(folderStr,"ML") 
    334 //                              Wave iErr = V_getDetectorDataErrW(folderStr,"ML") 
    335 //                              Wave inten2 = V_getDetectorDataW(folderStr,"MR") 
    336 //                              Wave iErr2 = V_getDetectorDataErrW(folderStr,"MR") 
    337 //                              Wave/Z mask = $("root:Packages:NIST:VSANS:MSK:entry:instrument:detector_"+"ML"+":data") 
    338 //                              Wave/Z mask2 = $("root:Packages:NIST:VSANS:MSK:entry:instrument:detector_"+"MR"+":data") 
    339 //                              if(WaveExists(mask) == 1 && WaveExists(mask2) == 1) 
    340 //                                      maskMissing = 0 
    341 //                              endif 
    342 //                      endif    
    343 //                      NVAR delQ = $(folderPath+instPath+"ML"+":gDelQ_ML") 
    344 //                       
    345 //                      Wave qTotal = $(folderPath+instPath+"ML"+":qTot_"+"ML")                 // 2D q-values   
    346 //                      Wave qTotal2 = $(folderPath+instPath+"MR"+":qTot_"+"MR")                        // 2D q-values   
    347 //               
    348 //                      nSets = 2 
    349 //                      break                    
    350 //               
    351 //              case "MTB": 
    352 //                      if(isVCALC) 
    353 //                              WAVE inten = $(folderPath+instPath+"MT"+":det_"+"MT") 
    354 //                              WAVE/Z iErr = $("iErr_"+"MT")                   // 2D errors -- may not exist, especially for simulation                 
    355 //                              WAVE inten2 = $(folderPath+instPath+"MB"+":det_"+"MB") 
    356 //                              WAVE/Z iErr2 = $("iErr_"+"MB")                  // 2D errors -- may not exist, especially for simulation         
    357 //                      else 
    358 //                              Wave inten = V_getDetectorDataW(folderStr,"MT") 
    359 //                              Wave iErr = V_getDetectorDataErrW(folderStr,"MT") 
    360 //                              Wave inten2 = V_getDetectorDataW(folderStr,"MB") 
    361 //                              Wave iErr2 = V_getDetectorDataErrW(folderStr,"MB") 
    362 //                              Wave/Z mask = $("root:Packages:NIST:VSANS:MSK:entry:instrument:detector_"+"MT"+":data") 
    363 //                              Wave/Z mask2 = $("root:Packages:NIST:VSANS:MSK:entry:instrument:detector_"+"MB"+":data") 
    364 //                              if(WaveExists(mask) == 1 && WaveExists(mask2) == 1) 
    365 //                                      maskMissing = 0 
    366 //                              endif 
    367 //                      endif    
    368 //                      NVAR delQ = $(folderPath+instPath+"MT"+":gDelQ_MT") 
    369 //                       
    370 //                      Wave qTotal = $(folderPath+instPath+"MT"+":qTot_"+"MT")                 // 2D q-values   
    371 //                      Wave qTotal2 = $(folderPath+instPath+"MB"+":qTot_"+"MB")                        // 2D q-values   
    372 //               
    373 //                      nSets = 2 
    374 //                      break                            
     175         
    375176                 
    376177                case "MLRTB": 
     
    789590        // 
    790591         
    791          
    792          
    793592        SetDataFolder root: 
    794593         
     
    797596 
    798597 
     598Proc V_Write1DAnnular(pathStr,folderStr,detGroup,saveName) 
     599        String pathStr="root:Packages:NIST:VSANS:" 
     600        String folderStr="SAM" 
     601        String detGroup = "F" 
     602        String saveName = "Annular_Data.dat" 
     603         
     604         
     605        V_fWrite1DAnnular(pathStr,folderStr,detGroup,saveName) 
     606         
     607end 
     608 
     609// TODO: 
     610// -- this is a temporary solution before a real writer is created 
     611// -- resolution is not generated here (and it shouldn't be) since resolution is not known yet. 
     612// -- but a real writer will need to be aware of resolution, and there may be different forms 
     613// 
     614// this will bypass save dialogs 
     615// -- AND WILL OVERWITE DATA WITH THE SAME NAME 
     616// 
     617//                      V_Write1DData_ITX("root:Packages:NIST:VSANS:",type,saveName,binType) 
     618// 
     619Function V_fWrite1DAnnular(pathStr,folderStr,detGroup,saveName) 
     620        String pathStr,folderStr,detGroup,saveName 
     621         
     622        String formatStr="",fullpath="" 
     623        Variable refnum,dialog=1 
     624 
     625        SetDataFolder $(pathStr+folderStr) 
     626 
     627        if(cmpstr(detGroup,"F") == 0) 
     628                Wave/Z pw = phiBin_qxqy_FLRTB 
     629                Wave/Z iw = iBin_qxqy_FLRTB 
     630                Wave/Z sw = eBin_qxqy_FLRTB 
     631        else 
     632                Wave/Z pw = phiBin_qxqy_MLRTB 
     633                Wave/Z iw = iBin_qxqy_MLRTB 
     634                Wave/Z sw = eBin_qxqy_MLRTB 
     635        endif 
     636 
     637         
     638        String dataSetFolderParent,basestr 
     639         
     640        //make sure the waves exist 
     641         
     642        if(WaveExists(pw) == 0) 
     643                SetDataFolder root: 
     644                Abort "q is missing" 
     645        endif 
     646        if(WaveExists(iw) == 0) 
     647                SetDataFolder root: 
     648                Abort "i is missing" 
     649        endif 
     650        if(WaveExists(sw) == 0) 
     651                SetDataFolder root: 
     652                Abort "s is missing" 
     653        endif 
     654//      if(WaveExists(resw) == 0) 
     655//              Abort "Resolution information is missing." 
     656//      endif 
     657         
     658//      Duplicate/O qw qbar,sigQ,fs 
     659//      if(dimsize(resW,1) > 4) 
     660//              //it's USANS put -dQv back in the last 3 columns 
     661//              NVAR/Z dQv = USANS_dQv 
     662//              if(NVAR_Exists(dQv) == 0) 
     663//                      SetDataFolder root: 
     664//                      Abort "It's USANS data, and I don't know what the slit height is." 
     665//              endif 
     666//              sigQ = -dQv 
     667//              qbar = -dQv 
     668//              fs = -dQv 
     669//      else 
     670//              //it's SANS 
     671//              sigQ = resw[p][0] 
     672//              qbar = resw[p][1] 
     673//              fs = resw[p][2] 
     674//      endif 
     675//       
     676 
     677        PathInfo catPathName 
     678        fullPath = S_Path + saveName 
     679 
     680        Open refnum as fullpath 
     681 
     682        fprintf refnum,"Annular data written from folder %s on %s\r\n",folderStr,(date()+" "+time()) 
     683 
     684// TODO -- make this work for 6-columns (or??) 
     685//      formatStr = "%15.4g %15.4g %15.4g %15.4g %15.4g %15.4g\r\n"      
     686//      fprintf refnum, "The 6 columns are | Q (1/A) | I(Q) (1/cm) | std. dev. I(Q) (1/cm) | sigmaQ | meanQ | ShadowFactor|\r\n"         
     687//      wfprintf refnum,formatStr,qw,iw,sw,sigQ,qbar,fs 
     688 
     689        //currently, only three columns 
     690        formatStr = "%15.4g %15.4g %15.4g\r\n"   
     691        fprintf refnum, "The 3 columns are | Phi (degrees) | I(phi) (1/cm) | std. dev. I(phi) (1/cm)\r\n"        
     692 
     693        wfprintf refnum,formatStr,pw,iw,sw 
     694        Close refnum 
     695         
     696//      KillWaves/Z sigQ,qbar,fs 
     697        Print "Data written to: ",fullpath 
     698         
     699        SetDataFolder root: 
     700        return(0) 
     701End 
  • sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_IQ_Utilities.ipf

    r1055 r1057  
    178178 
    179179// 
    180 // this is only called from the button on the data panel 
     180// this is only called from the button on the data panel (**not anymore**) 
    181181// so the type is the currently displayed type, and the binning is from the panel 
    182182// 
  • sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_Menu.ipf

    r1056 r1057  
    2727                "-" 
    2828                "Annular Binning",Annular_Binning() 
     29                "Write Annular Data",V_Write1DAnnular() 
    2930        End 
    3031        Submenu "Work Files" 
  • sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_Protocol_Reduction.ipf

    r1056 r1057  
    3232//              WIDTH=value             total width of rectangular section, in pixels 
    3333//              SIDE=string             string from set {left,right,both} **note NOT capitalized 
     34 
    3435//              QCENTER=value           q-value (1/A) of center of annulus for annular average 
    35 //              QDELTA=value            total width of annulus centered at QCENTER 
     36//              QDELTA=value            (+/-) width of annulus centered at QCENTER, in units of q 
     37//              DETGROUP=value  string with "F" or "M" to name the detector group where the annulus lies. 
     38 
    3639//              PLOT=string             string from set {Yes,No} = truth of generating plot of averaged data 
    3740//              SAVE=string             string from set {Yes,No} = truth of saving averaged data to disk, now with "Concatenate"  or "Individual" 
     
    13531356// 
    13541357//Proc V_GetAvgInfo(av_typ,autoSave,autoName,autoPlot,side,phi,dphi,width,QCtr,QDelta) 
    1355 Proc V_GetAvgInfo(av_typ,autoSave,autoName,binType) 
     1358Proc V_GetAvgInfo(av_typ,autoSave,autoName,binType,qCtr,qDelta,detGroup) 
    13561359        String av_typ,autoSave,AutoName,binType 
    13571360//      Variable phi=0,dphi=10,width=10,Qctr = 0.01,qDelta=10 
     1361        Variable Qctr=0.1,qDelta=0.01 
     1362        String detGroup="F" 
    13581363 
    13591364//      Prompt av_typ, "Type of Average",popup,"Circular;Sector;Rectangular;Annular;2D_ASCII;QxQy_ASCII;PNG_Graphic;Sector_PlusMinus;" 
    1360         Prompt av_typ, "Type of Average",popup,"Circular;" 
     1365        Prompt av_typ, "Type of Average",popup,"Circular;Annular;" 
    13611366 
    13621367// comment out above line in DEMO_MODIFIED version, and uncomment the line below (to disable PNG save) 
     
    13691374//      Prompt dphi, "Azimuthal range (0,45) degrees (Sector only)" 
    13701375//      Prompt width, "Width of Rectangular average (1,128)" 
    1371 //      Prompt Qctr, "q-value of center of annulus" 
    1372 //      Prompt Qdelta,"Pixel width of annulus" 
    13731376        Prompt binType,"Binning Type?",popup,ksBinTypeStr 
    13741377 
     1378        Prompt Qctr, "q-value of center of annulus" 
     1379        Prompt Qdelta,"(+/-) q-width of annulus" 
     1380        Prompt detGroup,"Group for annulus" 
     1381         
    13751382        //assign results of dialog to key=value string, semicolon separated 
    13761383        //do only what is necessary, based on av_typ 
     
    14011408//      Endif 
    14021409//       
    1403 //      if(cmpstr(av_typ,"Annular")==0) 
    1404 //              root:Packages:NIST:VSANS:Globals:Protocols:gAvgInfoStr += "QCENTER=" + num2str(QCtr) + ";" 
    1405 //              root:Packages:NIST:VSANS:Globals:Protocols:gAvgInfoStr += "QDELTA=" + num2str(QDelta) + ";" 
    1406 //      Endif 
     1410        if(cmpstr(av_typ,"Annular")==0) 
     1411                root:Packages:NIST:VSANS:Globals:Protocols:gAvgInfoStr += "QCENTER=" + num2str(QCtr) + ";" 
     1412                root:Packages:NIST:VSANS:Globals:Protocols:gAvgInfoStr += "QDELTA=" + num2str(QDelta) + ";" 
     1413                root:Packages:NIST:VSANS:Globals:Protocols:gAvgInfoStr += "DETGROUP=" + detGroup + ";" 
     1414        Endif 
    14071415End 
    14081416 
     
    14111419// -- this is the original(SANS) version, and needs to be updated for VSANS as the averaging options are 
    14121420//    worked out 
     1421// -- there have been changes made to V_GetAvgInfo() above -- so work from that version, NOT this one. 
     1422// 
    14131423// 
    14141424//procedure called by protocol panel to ask user for average type choices 
     
    24242434                case "Annular": 
    24252435//                      AnnularAverageTo1D(activeType) 
     2436                        String detGroup = StringByKey("DETGROUP",prot[5],"=",";") 
     2437                        Variable qCtr_Ann = NumberByKey("QCENTER",prot[5],"=",";") 
     2438                        Variable qWidth = NumberByKey("QDELTA",prot[5],"=",";") 
     2439                        V_QBinAllPanels_Annular(activeType,detGroup,qCtr_Ann,qWidth) 
    24262440                        break 
    24272441                case "Circular": 
     
    24442458// x- !!!need to split out the panel draw and the binning calls from V_PlotData_Panel 
    24452459// 
    2446         V_PlotData_Panel()              //this brings the plot window to the front, or draws it (ONLY) 
    2447         V_Update1D_Graph(activeType,binType)            //update the graph, data was already binned 
    2448          
     2460// TODO: 
     2461// -- BAD logic here, skipping the normal graph if annular is chosen. Go back and see how I do this 
     2462// in SANS for a better and more foolproof way to do this 
     2463        // 
     2464        if(cmpstr(av_type,"Annular") != 0) 
     2465                V_PlotData_Panel()              //this brings the plot window to the front, or draws it (ONLY) 
     2466                V_Update1D_Graph(activeType,binType)            //update the graph, data was already binned 
     2467        endif 
    24492468///// end of averaging dispatch 
    24502469 
     
    25122531                        case "Annular": 
    25132532//                              WritePhiave_W_Protocol(activeType,fullPath,dialog) 
     2533                                V_fWrite1DAnnular("root:Packages:NIST:VSANS:",activeType,detGroup,newFileName+".phi") 
     2534                                Print "data written to:  "+ newFileName+".phi" 
     2535 
    25142536                                break 
    25152537                        case "2D_ASCII": 
     
    25452567                                        V_Write1DData_ITX("root:Packages:NIST:VSANS:",activeType,newFileName,binType) 
    25462568                                endif 
     2569                                Print "data written to:  "+ newFileName+"."+exten 
    25472570 
    25482571                endswitch 
    25492572                 
    2550                 Print "data written to:  "+ newFileName+"."+exten 
    25512573        Endif 
    25522574         
Note: See TracChangeset for help on using the changeset viewer.