Ignore:
Timestamp:
Mar 7, 2016 11:55:46 AM (7 years ago)
Author:
srkline
Message:

CHANGES to SANS:
Now allow 4 files to be combined in one step. This required modification of one routine in NIST_XML to allow an extra file name, and significant addition to the NSORT panel to allow an (optional) 4th data file. behaviors are still the same as before with 2, 3, or 4 sets being allowed. The "combine table" also allows up to 4 files to be combined (can be mixed, 2, 3, 4 all allowed).

More addtions to VSANS present as well, not specific changes, but in-progress changes to the beam center handling and ciombining data to 1D.

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

Legend:

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

    r982 r983  
    3434//      ShowTools/A 
    3535         
    36         PopupMenu popup_0,pos={20,20},size={109,20},proc=SetDetPanelPopMenuProc,title="Detector Panel" 
     36        PopupMenu popup_0,pos={20,50},size={109,20},proc=SetDetPanelPopMenuProc,title="Detector Panel" 
    3737        PopupMenu popup_0,mode=1,popvalue="FL",value= #"\"FL;FR;FT;FB;MR;ML;MT;MB;B;\"" 
    3838        PopupMenu popup_1,pos={200,20},size={157,20},proc=DetModelPopMenuProc,title="Model Function" 
    3939        PopupMenu popup_1,mode=1,popvalue="BroadPeak",value= #"\"BroadPeak;other;\"" 
    40          
     40        PopupMenu popup_2,pos={20,20},size={109,20},title="Data Source"//,proc=SetFldrPopMenuProc 
     41        PopupMenu popup_2,mode=1,popvalue="VCALC",value= #"\"RAW;SAM;VCALC;\"" 
     42                 
    4143        Button button_0,pos={486,20},size={80,20},proc=DetFitGuessButtonProc,title="Guess" 
    4244        Button button_1,pos={615,20},size={80,20},proc=DetFitButtonProc,title="Do Fit" 
    4345        Button button_2,pos={744,20},size={80,20},proc=DetFitHelpButtonProc,title="Help" 
     46        Button button_3,pos={615,400},size={110,20},proc=WriteCtrButtonProc,title="Write Centers" 
     47        Button button_4,pos={730,400},size={110,20},proc=CtrTableButtonProc,title="Ctr table" 
     48        Button button_5,pos={730,440},size={110,20},proc=WriteCtrTableButtonProc,title="Write table" 
     49 
    4450 
    4551 
     
    7884 
    7985// edit the fit coefficients     
    80         Edit/W=(500,80,880,350)/HOST=#  parameters_PeakPix2D,coef_PeakPix2D 
     86        Edit/W=(550,80,880,370)/HOST=#  parameters_PeakPix2D,coef_PeakPix2D 
    8187        ModifyTable width(Point)=0 
    8288        ModifyTable width(parameters_PeakPix2D)=120 
     
    8995 
    9096 
    91  
    92  
     97// 
     98// function to choose which detector panel to display, and then to actually display it 
     99// 
    93100Function SetDetPanelPopMenuProc(pa) : PopupMenuControl 
    94101        STRUCT WMPopupAction &pa 
     
    126133 
    127134 
     135// TODO - currently is hard-wired for the simulation path! 
     136//     need to make it more generic, especially for RAW data 
     137// 
     138// -- need to adjust the size of the image subwindows to keep the model 
     139//    calculation from spillon over onto the table (maybe just move the table) 
     140// -- need to do something for panel "B". currently ignored 
     141// -- currently the pixel sizes for "real" data is incorrect in the file 
     142//     and this is why the plots are incorrectly sized 
     143// 
    128144// draw the selected panel and the model calculation, adjusting for the  
    129145// orientation of the panel and the number of pixels, and pixel sizes 
     
    132148         
    133149        // from the selection, find the path to the data 
    134         // TODO - currently is hard-wired for the simulation path! 
    135         //     need to make it more generic, especially for RAW data 
     150 
    136151 
    137152        Variable xDim,yDim 
     
    139154        Variable height, width 
    140155        Variable left2,top2,right2,bottom2 
     156        Variable nPix_X,nPix_Y,pixSize_X,pixSize_Y 
     157 
     158         
    141159        Wave dispW=root:curDispPanel 
    142160        Wave cw = root:coef_PeakPix2D 
     
    154172        // and the other to set the "common" values, some of which are based on the panel dimensions 
    155173 
    156         // panel-specific values 
    157         strswitch(str) 
    158                 case "FL": 
    159                         NVAR nPix_X = root:Packages:NIST:VSANS:VCALC:gFront_L_nPix_X 
    160                         NVAR nPix_Y = root:Packages:NIST:VSANS:VCALC:gFront_L_nPix_Y 
    161                         NVAR pixSize_X = root:Packages:NIST:VSANS:VCALC:gFront_L_pixelX 
    162                         NVAR pixSize_Y = root:Packages:NIST:VSANS:VCALC:gFront_L_pixelY 
    163 //                      wave newW = $("root:Packages:NIST:VSANS:VCALC:entry:entry:instrument:detector_"+str+":det_"+str) 
    164                         break 
    165                 case "FR": 
    166                         NVAR nPix_X = root:Packages:NIST:VSANS:VCALC:gFront_R_nPix_X 
    167                         NVAR nPix_Y = root:Packages:NIST:VSANS:VCALC:gFront_R_nPix_Y 
    168                         NVAR pixSize_X = root:Packages:NIST:VSANS:VCALC:gFront_R_pixelX 
    169                         NVAR pixSize_Y = root:Packages:NIST:VSANS:VCALC:gFront_R_pixelY 
    170 //                      wave newW = $("root:Packages:NIST:VSANS:VCALC:Front:det_"+str) 
    171                         break 
    172                 case "ML": 
    173                         NVAR nPix_X = root:Packages:NIST:VSANS:VCALC:gMiddle_L_nPix_X 
    174                         NVAR nPix_Y = root:Packages:NIST:VSANS:VCALC:gMiddle_L_nPix_Y 
    175                         NVAR pixSize_X = root:Packages:NIST:VSANS:VCALC:gMiddle_L_pixelX 
    176                         NVAR pixSize_Y = root:Packages:NIST:VSANS:VCALC:gMiddle_L_pixelY 
    177 //                      wave newW = $("root:Packages:NIST:VSANS:VCALC:Middle:det_"+str) 
    178                         break 
    179                 case "MR": 
    180                         NVAR nPix_X = root:Packages:NIST:VSANS:VCALC:gMiddle_R_nPix_X 
    181                         NVAR nPix_Y = root:Packages:NIST:VSANS:VCALC:gMiddle_R_nPix_Y 
    182                         NVAR pixSize_X = root:Packages:NIST:VSANS:VCALC:gMiddle_R_pixelX 
    183                         NVAR pixSize_Y = root:Packages:NIST:VSANS:VCALC:gMiddle_R_pixelY 
    184 //                      wave newW = $("root:Packages:NIST:VSANS:VCALC:Middle:det_"+str) 
    185                         break    
    186  
    187                 case "FT": 
    188                         NVAR nPix_X = root:Packages:NIST:VSANS:VCALC:gFront_T_nPix_X 
    189                         NVAR nPix_Y = root:Packages:NIST:VSANS:VCALC:gFront_T_nPix_Y 
    190                         NVAR pixSize_X = root:Packages:NIST:VSANS:VCALC:gFront_T_pixelX 
    191                         NVAR pixSize_Y = root:Packages:NIST:VSANS:VCALC:gFront_T_pixelY 
    192 //                      wave newW = $("root:Packages:NIST:VSANS:VCALC:Front:det_"+str) 
    193                         break 
    194                 case "FB": 
    195                         NVAR nPix_X = root:Packages:NIST:VSANS:VCALC:gFront_B_nPix_X 
    196                         NVAR nPix_Y = root:Packages:NIST:VSANS:VCALC:gFront_B_nPix_Y 
    197                         NVAR pixSize_X = root:Packages:NIST:VSANS:VCALC:gFront_B_pixelX 
    198                         NVAR pixSize_Y = root:Packages:NIST:VSANS:VCALC:gFront_B_pixelY 
    199 //                      wave newW = $("root:Packages:NIST:VSANS:VCALC:Front:det_"+str) 
    200                         break 
    201                 case "MT": 
    202                         NVAR nPix_X = root:Packages:NIST:VSANS:VCALC:gMiddle_T_nPix_X 
    203                         NVAR nPix_Y = root:Packages:NIST:VSANS:VCALC:gMiddle_T_nPix_Y 
    204                         NVAR pixSize_X = root:Packages:NIST:VSANS:VCALC:gMiddle_T_pixelX 
    205                         NVAR pixSize_Y = root:Packages:NIST:VSANS:VCALC:gMiddle_T_pixelY 
    206 //                      wave newW = $("root:Packages:NIST:VSANS:VCALC:Middle:det_"+str) 
    207                         break 
    208                 case "MB": 
    209                         NVAR nPix_X = root:Packages:NIST:VSANS:VCALC:gMiddle_B_nPix_X 
    210                         NVAR nPix_Y = root:Packages:NIST:VSANS:VCALC:gMiddle_B_nPix_Y 
    211                         NVAR pixSize_X = root:Packages:NIST:VSANS:VCALC:gMiddle_B_pixelX 
    212                         NVAR pixSize_Y = root:Packages:NIST:VSANS:VCALC:gMiddle_B_pixelY 
    213 //                      wave newW = $("root:Packages:NIST:VSANS:VCALC:Middle:det_"+str) 
    214                         break    
    215                          
    216                 case "B": 
    217                         return(0)               //just exit 
    218                         break                                            
    219                 default: 
    220                         return(0)               //just exit 
    221         endswitch 
    222          
    223         wave newW = $("root:Packages:NIST:VSANS:VCALC:entry:entry:instrument:detector_"+str+":det_"+str) 
     174// set the source of the data. not always VCALC anymore 
     175        String folder 
     176        ControlInfo popup_2 
     177        folder = S_Value 
     178 
     179        // TODO -- fix all of this mess 
     180        if(cmpstr(folder,"VCALC") == 0) 
     181                // panel-specific values 
     182                Variable VC_nPix_X = VCALC_get_nPix_X(str) 
     183                Variable VC_nPix_Y = VCALC_get_nPix_Y(str) 
     184                Variable VC_pixSize_X = VCALC_getPixSizeX(str) 
     185                Variable VC_pixSize_Y = VCALC_getPixSizeY(str) 
     186//              strswitch(str) 
     187//                      case "FL": 
     188//                              NVAR VC_nPix_X = root:Packages:NIST:VSANS:VCALC:gFront_L_nPix_X 
     189//                              NVAR VC_nPix_Y = root:Packages:NIST:VSANS:VCALC:gFront_L_nPix_Y 
     190//                              NVAR VC_pixSize_X = root:Packages:NIST:VSANS:VCALC:gFront_L_pixelX 
     191//                              NVAR VC_pixSize_Y = root:Packages:NIST:VSANS:VCALC:gFront_L_pixelY 
     192//      //                      wave newW = $("root:Packages:NIST:VSANS:VCALC:entry:entry:instrument:detector_"+str+":det_"+str) 
     193//                              break 
     194//                      case "FR": 
     195//                              NVAR VC_nPix_X = root:Packages:NIST:VSANS:VCALC:gFront_R_nPix_X 
     196//                              NVAR VC_nPix_Y = root:Packages:NIST:VSANS:VCALC:gFront_R_nPix_Y 
     197//                              NVAR VC_pixSize_X = root:Packages:NIST:VSANS:VCALC:gFront_R_pixelX 
     198//                              NVAR VC_pixSize_Y = root:Packages:NIST:VSANS:VCALC:gFront_R_pixelY 
     199//      //                      wave newW = $("root:Packages:NIST:VSANS:VCALC:Front:det_"+str) 
     200//                              break 
     201//                      case "ML": 
     202//                              NVAR VC_nPix_X = root:Packages:NIST:VSANS:VCALC:gMiddle_L_nPix_X 
     203//                              NVAR VC_nPix_Y = root:Packages:NIST:VSANS:VCALC:gMiddle_L_nPix_Y 
     204//                              NVAR VC_pixSize_X = root:Packages:NIST:VSANS:VCALC:gMiddle_L_pixelX 
     205//                              NVAR VC_pixSize_Y = root:Packages:NIST:VSANS:VCALC:gMiddle_L_pixelY 
     206//      //                      wave newW = $("root:Packages:NIST:VSANS:VCALC:Middle:det_"+str) 
     207//                              break 
     208//                      case "MR": 
     209//                              NVAR VC_nPix_X = root:Packages:NIST:VSANS:VCALC:gMiddle_R_nPix_X 
     210//                              NVAR VC_nPix_Y = root:Packages:NIST:VSANS:VCALC:gMiddle_R_nPix_Y 
     211//                              NVAR VC_pixSize_X = root:Packages:NIST:VSANS:VCALC:gMiddle_R_pixelX 
     212//                              NVAR VC_pixSize_Y = root:Packages:NIST:VSANS:VCALC:gMiddle_R_pixelY 
     213//      //                      wave newW = $("root:Packages:NIST:VSANS:VCALC:Middle:det_"+str) 
     214//                              break    
     215//       
     216//                      case "FT": 
     217//                              NVAR VC_nPix_X = root:Packages:NIST:VSANS:VCALC:gFront_T_nPix_X 
     218//                              NVAR VC_nPix_Y = root:Packages:NIST:VSANS:VCALC:gFront_T_nPix_Y 
     219//                              NVAR VC_pixSize_X = root:Packages:NIST:VSANS:VCALC:gFront_T_pixelX 
     220//                              NVAR VC_pixSize_Y = root:Packages:NIST:VSANS:VCALC:gFront_T_pixelY 
     221//      //                      wave newW = $("root:Packages:NIST:VSANS:VCALC:Front:det_"+str) 
     222//                              break 
     223//                      case "FB": 
     224//                              NVAR VC_nPix_X = root:Packages:NIST:VSANS:VCALC:gFront_B_nPix_X 
     225//                              NVAR VC_nPix_Y = root:Packages:NIST:VSANS:VCALC:gFront_B_nPix_Y 
     226//                              NVAR VC_pixSize_X = root:Packages:NIST:VSANS:VCALC:gFront_B_pixelX 
     227//                              NVAR VC_pixSize_Y = root:Packages:NIST:VSANS:VCALC:gFront_B_pixelY 
     228//      //                      wave newW = $("root:Packages:NIST:VSANS:VCALC:Front:det_"+str) 
     229//                              break 
     230//                      case "MT": 
     231//                              NVAR VC_nPix_X = root:Packages:NIST:VSANS:VCALC:gMiddle_T_nPix_X 
     232//                              NVAR VC_nPix_Y = root:Packages:NIST:VSANS:VCALC:gMiddle_T_nPix_Y 
     233//                              NVAR VC_pixSize_X = root:Packages:NIST:VSANS:VCALC:gMiddle_T_pixelX 
     234//                              NVAR VC_pixSize_Y = root:Packages:NIST:VSANS:VCALC:gMiddle_T_pixelY 
     235//      //                      wave newW = $("root:Packages:NIST:VSANS:VCALC:Middle:det_"+str) 
     236//                              break 
     237//                      case "MB": 
     238//                              NVAR VC_nPix_X = root:Packages:NIST:VSANS:VCALC:gMiddle_B_nPix_X 
     239//                              NVAR VC_nPix_Y = root:Packages:NIST:VSANS:VCALC:gMiddle_B_nPix_Y 
     240//                              NVAR VC_pixSize_X = root:Packages:NIST:VSANS:VCALC:gMiddle_B_pixelX 
     241//                              NVAR VC_pixSize_Y = root:Packages:NIST:VSANS:VCALC:gMiddle_B_pixelY 
     242//      //                      wave newW = $("root:Packages:NIST:VSANS:VCALC:Middle:det_"+str) 
     243//                              break    
     244//                               
     245//                      case "B": 
     246//                              return(0)               //just exit 
     247//                              break                                            
     248//                      default: 
     249//                              return(0)               //just exit 
     250//              endswitch 
     251         
     252        // if VCALC declare this way     
     253                wave newW = $("root:Packages:NIST:VSANS:VCALC:entry:entry:instrument:detector_"+str+":det_"+str) 
     254                nPix_X = VC_nPix_X 
     255                nPix_Y = VC_nPix_Y 
     256                pixSize_X = VC_pixSize_X 
     257                pixSize_Y = VC_pixSize_Y 
     258         
     259        else 
     260        // TODO: if real data, need new declaration w/ data as the wave name 
     261                wave newW = $("root:Packages:NIST:VSANS:"+folder+":entry:entry:instrument:detector_"+str+":data") 
     262 
     263                nPix_X = V_getDet_pixel_num_x(folder,str) 
     264                nPix_Y = V_getDet_pixel_num_Y(folder,str) 
     265                pixSize_X = V_getDet_x_pixel_size(folder,str)/10 
     266                pixSize_Y = V_getDet_y_pixel_size(folder,str)/10 
     267        endif 
     268         
    224269 
    225270        Variable scale = 5 
    226271         
    227272        // common values (panel position, etc) 
     273        // TODO -- units are absolute, based on pixels in cm. make sure this is always correct 
    228274        strswitch(str) 
    229275                case "FL": 
     
    313359 
    314360 
    315  
     361// TODO:  
     362// -- allow other model functions as needed. 
     363// 
     364// Function to plot the specified 2D model for the detector 
     365// 
    316366Function DetModelPopMenuProc(pa) : PopupMenuControl 
    317367        STRUCT WMPopupAction &pa 
     
    357407End 
    358408 
    359  
    360  
    361  
    362  
     409// 
     410// TODO -- currently hard-wired for the only fit function 
     411// 
     412Function WriteCtrButtonProc(ba) : ButtonControl 
     413        STRUCT WMButtonAction &ba 
     414 
     415        switch( ba.eventCode ) 
     416                case 2: // mouse up 
     417                        // click code here 
     418                        String detStr,fname 
     419                        Wave coefW=root:coef_PeakPix2D 
     420                         
     421                        ControlInfo popup_0 
     422                        detStr = S_Value 
     423                        ControlInfo popup_2 
     424                        fname = S_Value 
     425                         
     426                        V_putDet_beam_center_x(fname,detStr,coefW[9]) 
     427                        V_putDet_beam_center_y(fname,detStr,coefW[10]) 
     428 
     429                        break 
     430                case -1: // control being killed 
     431                        break 
     432        endswitch 
     433 
     434        return 0 
     435End 
     436 
     437 
     438 
     439// TODO 
     440// -- there is only a single fitting function available, and it's hard-wired 
     441// -- what values are held during the fitting are hard-wired 
     442// 
     443// 
     444// function to call the fit fucntion (2D) 
     445// 
    363446Function DetFitButtonProc(ba) : ButtonControl 
    364447        STRUCT WMButtonAction &ba 
     
    401484End 
    402485 
     486Function CtrTableButtonProc(ba) : ButtonControl 
     487        STRUCT WMButtonAction &ba 
     488 
     489        switch( ba.eventCode ) 
     490                case 2: // mouse up 
     491                        // click code here 
     492                         
     493                        V_BCtrTable() 
     494                         
     495                        break 
     496                case -1: // control being killed 
     497                        break 
     498        endswitch 
     499 
     500        return 0 
     501End 
     502 
     503Function WriteCtrTableButtonProc(ba) : ButtonControl 
     504        STRUCT WMButtonAction &ba 
     505 
     506        switch( ba.eventCode ) 
     507                case 2: // mouse up 
     508                        // click code here 
     509                         
     510                        V_BeamCtr_WriteTable() 
     511                         
     512                        break 
     513                case -1: // control being killed 
     514                        break 
     515        endswitch 
     516 
     517        return 0 
     518End 
    403519 
    404520// TODO 
    405521// -- some of this is hard-wired in 
    406 // -- this is still alll in terms of pixels, which still may not be what I want 
     522// -- this is still all in terms of pixels, which still may not be what I want 
    407523// -- the x-scale of the T/B panels is artificially compressed to "fake" 4mm per pixel in x-direction 
    408524// 
     
    447563end 
    448564 
     565// TODO 
     566// these are "nominal" beam center values in pixels for the default VCALC configuration 
     567// This function "restores" the data display to the "instrument" conditions where the panels overlap 
     568// and is intended to be a TRUE view of what the detectors see - that is - the peaks should appear as rings, 
     569// the view should be symmetric (if the real data is symmetric) 
     570// 
     571// -- this is currently linked to the Vdata panel 
     572// -- will need to remove the hard-wired values and get the proper values from the data 
     573// -- ?? will the "proper" values be in pixels or distance? All depends on how I display the data... 
     574// -- may want to keep the nominal scaling values around in case the proper values aren' in the file 
     575// 
    449576Function V_RestorePanels() 
    450577 
    451         V_RescaleToBeamCenter("RAW","MB",64,55) 
    452         V_RescaleToBeamCenter("RAW","MT",64,-8.7) 
    453         V_RescaleToBeamCenter("RAW","MR",-8.1,64) 
    454         V_RescaleToBeamCenter("RAW","ML",55,64) 
    455         V_RescaleToBeamCenter("RAW","FB",64,55) 
    456         V_RescaleToBeamCenter("RAW","FT",64,-8.7) 
    457         V_RescaleToBeamCenter("RAW","FR",-8.1,64) 
    458         V_RescaleToBeamCenter("RAW","FL",55,64) 
    459  
    460  
     578        String fname="" 
     579        String detStr="" 
     580        Variable ii,xCtr,yCtr 
     581 
     582//// this works if the proper centers are in the file - otherwise, it's a mess   
     583//      fname = "RAW" 
     584//      for(ii=0;ii<ItemsInList(ksDetectorListNoB);ii+=1) 
     585//              detStr = StringFromList(ii, ksDetectorListNoB, ";") 
     586//              xCtr = V_getDet_beam_center_x(fname,detStr) 
     587//              yCtr = V_getDet_beam_center_y(fname,detStr) 
     588//              V_RescaleToBeamCenter("RAW",detStr,xCtr,yCtr) 
     589//      endfor 
     590                 
     591                 
     592                // nominal values... better to use what's in the file 
     593// 
     594                V_RescaleToBeamCenter("RAW","MB",64,55) 
     595                V_RescaleToBeamCenter("RAW","MT",64,-8.7) 
     596                V_RescaleToBeamCenter("RAW","MR",-8.1,64) 
     597                V_RescaleToBeamCenter("RAW","ML",55,64) 
     598                V_RescaleToBeamCenter("RAW","FB",64,55) 
     599                V_RescaleToBeamCenter("RAW","FT",64,-8.7) 
     600                V_RescaleToBeamCenter("RAW","FR",-8.1,64) 
     601                V_RescaleToBeamCenter("RAW","FL",55,64) 
    461602        return(0) 
    462603end 
    463604 
     605// TODO 
     606// these are "spread out" values for the data panels 
     607// This view is meant to spread out the panels so there is (?Less) overlap so the panels can be  
     608// viewed a bit easier. Isolation may still be preferred for detailed work. 
     609// 
     610// -- this is currently linked to the Vdata panel 
     611// -- will need to remove the hard-wired values and get the proper values from the data 
     612// -- ?? will the "proper" values be in pixels or distance? All depends on how I display the data... 
     613// 
    464614Function V_SpreadOutPanels() 
    465615 
     
    474624        return(0) 
    475625end 
     626 
     627// function to display the beam center values for all of the detectors 
     628// opens a separate table with the detector label, and the XY values 
     629// ? Maybe list the XY pair in pixels and in real distance in the table 
     630// 
     631// TODO: 
     632// -- need a way to use this or another table? as input to put the new/fitted/derived 
     633//    beam center values into the data folders, and ultimately into the data files on disk 
     634// -- need read/Write for the XY in pixels, and in real-distance 
     635// -- where are the temporary waves to be located? root? 
     636// -- need way to access the Ctr_mm values 
     637Function V_BCtrTable() 
     638         
     639        // order of the panel names will match the constant string 
     640        //FT;FB;FL;FR;MT;MB;ML;MR;B; 
     641        Make/O/T/N=9 panelW 
     642        Make/O/D/N=9 xCtr_pix,yCtr_pix,xCtr_mm,yCtr_mm 
     643        DoWindow/F BCtrTable 
     644        if(V_flag == 0) 
     645                Edit/W=(547,621,1076,943)/N=BCtrTable panelW,xCtr_pix,yCtr_pix,xCtr_mm,yCtr_mm 
     646        endif 
     647         
     648        Variable ii 
     649        String detStr,fname 
     650         
     651        fname = "RAW" 
     652        for(ii=0;ii<ItemsInList(ksDetectorListAll);ii+=1) 
     653                detStr = StringFromList(ii, ksDetectorListAll, ";") 
     654                panelW[ii] = detStr 
     655                xCtr_pix[ii] = V_getDet_beam_center_x(fname,detStr) 
     656                yCtr_pix[ii] = V_getDet_beam_center_y(fname,detStr) 
     657                // TODO 
     658                // and now the mm values 
     659                 
     660        endfor 
     661        return(0) 
     662End 
     663 
     664// 
     665// to write the new beam center values to a file on disk: 
     666// V_writeDet_beam_center_x(fname,detStr,val) 
     667// 
     668// to write to a local WORK folder 
     669// V_putDet_beam_center_x(fname,detStr,val) 
     670// 
     671Function V_BeamCtr_WriteTable() 
     672 
     673        String folder 
     674         
     675        Variable ii 
     676        String detStr,fname 
     677         
     678        Wave xCtr_pix = root:xCtr_pix 
     679        Wave yCtr_pix = root:yCtr_pix 
     680        Wave/T panelW = root:PanelW 
     681         
     682        ControlInfo popup_2 
     683        folder = S_Value 
     684         
     685        fname = folder 
     686        for(ii=0;ii<ItemsInList(ksDetectorListAll);ii+=1) 
     687//              detStr = StringFromList(ii, ksDetectorListAll, ";") 
     688                detStr = panelW[ii] 
     689                V_putDet_beam_center_x(fname,detStr,xCtr_pix[ii]) 
     690                V_putDet_beam_center_y(fname,detStr,yCtr_pix[ii]) 
     691                 
     692                // TODO 
     693                // and now the mm values 
     694                 
     695        endfor 
     696        return(0) 
     697         
     698End 
  • sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/VC_UtilityProcedures.ipf

    r982 r983  
    181181        String type 
    182182 
    183         SetDataFolder root:Packages:NIST:VSANS:VCALC 
    184                          
    185         strswitch(type)  
    186                 case "FL": 
    187                         NVAR pixSizeX = gFront_L_pixelX 
    188                         break 
    189                 case "FR":               
    190                         NVAR pixSizeX = gFront_R_pixelX 
    191                         break 
    192                 case "FT": 
    193                         NVAR pixSizeX = gFront_T_pixelX 
    194                         break    
    195                 case "FB":               
    196                         NVAR pixSizeX = gFront_B_pixelX 
    197                         break 
    198                          
    199                 case "ML": 
    200                         NVAR pixSizeX = gMiddle_L_pixelX 
    201                         break 
    202                 case "MR":               
    203                         NVAR pixSizeX = gMiddle_R_pixelX 
    204                         break 
    205                 case "MT": 
    206                         NVAR pixSizeX = gMiddle_T_pixelX 
    207                         break    
    208                 case "MB":               
    209                         NVAR pixSizeX = gMiddle_B_pixelX 
    210                         break 
    211                                                  
    212                 case "B":                
    213                         NVAR pixSizeX = gBack_pixelX 
    214                         break 
    215                          
    216                 default:                                                         
    217                         Print "Detector type mismatch in        V_getPixSizeX(type)" 
    218                         setDataFolder root: 
    219                         return(NaN) 
    220         endswitch 
    221  
    222         setDataFolder root: 
     183        Variable pixSizeX = V_getDet_x_pixel_size("VCALC",type) 
     184 
     185//      SetDataFolder root:Packages:NIST:VSANS:VCALC 
     186//                       
     187//      strswitch(type)  
     188//              case "FL": 
     189//                      NVAR pixSizeX = gFront_L_pixelX 
     190//                      break 
     191//              case "FR":               
     192//                      NVAR pixSizeX = gFront_R_pixelX 
     193//                      break 
     194//              case "FT": 
     195//                      NVAR pixSizeX = gFront_T_pixelX 
     196//                      break    
     197//              case "FB":               
     198//                      NVAR pixSizeX = gFront_B_pixelX 
     199//                      break 
     200//                       
     201//              case "ML": 
     202//                      NVAR pixSizeX = gMiddle_L_pixelX 
     203//                      break 
     204//              case "MR":               
     205//                      NVAR pixSizeX = gMiddle_R_pixelX 
     206//                      break 
     207//              case "MT": 
     208//                      NVAR pixSizeX = gMiddle_T_pixelX 
     209//                      break    
     210//              case "MB":               
     211//                      NVAR pixSizeX = gMiddle_B_pixelX 
     212//                      break 
     213//                                               
     214//              case "B":                
     215//                      NVAR pixSizeX = gBack_pixelX 
     216//                      break 
     217//                       
     218//              default:                                                         
     219//                      Print "Detector type mismatch in        V_getPixSizeX(type)" 
     220//                      setDataFolder root: 
     221//                      return(NaN) 
     222//      endswitch 
     223// 
     224//      setDataFolder root: 
    223225                 
    224226        return(pixSizeX) 
     
    229231        String type 
    230232 
    231         SetDataFolder root:Packages:NIST:VSANS:VCALC 
    232                          
    233         strswitch(type)  
    234                 case "FL": 
    235                         NVAR pixSizeY = gFront_L_pixelY 
    236                         break 
    237                 case "FR":               
    238                         NVAR pixSizeY = gFront_R_pixelY 
    239                         break 
    240                 case "FT": 
    241                         NVAR pixSizeY = gFront_T_pixelY 
    242                         break    
    243                 case "FB":               
    244                         NVAR pixSizeY = gFront_B_pixelY 
    245                         break 
    246                          
    247                 case "ML": 
    248                         NVAR pixSizeY = gMiddle_L_pixelY 
    249                         break 
    250                 case "MR":               
    251                         NVAR pixSizeY = gMiddle_R_pixelY 
    252                         break 
    253                 case "MT": 
    254                         NVAR pixSizeY = gMiddle_T_pixelY 
    255                         break    
    256                 case "MB":               
    257                         NVAR pixSizeY = gMiddle_B_pixelY 
    258                         break 
    259                                                  
    260                 case "B":                
    261                         NVAR pixSizeY = gBack_pixelY 
    262                         break 
    263                          
    264                 default:                                                         
    265                         Print "Detector type mismatch in        V_getPixSizeY(type)" 
    266                         SetDataFolder root: 
    267                         return(NaN) 
    268         endswitch 
    269  
    270         setDatafolder root: 
     233        Variable pixSizeY = V_getDet_y_pixel_size("VCALC",type) 
     234         
     235//      SetDataFolder root:Packages:NIST:VSANS:VCALC 
     236//                       
     237//      strswitch(type)  
     238//              case "FL": 
     239//                      NVAR pixSizeY = gFront_L_pixelY 
     240//                      break 
     241//              case "FR":               
     242//                      NVAR pixSizeY = gFront_R_pixelY 
     243//                      break 
     244//              case "FT": 
     245//                      NVAR pixSizeY = gFront_T_pixelY 
     246//                      break    
     247//              case "FB":               
     248//                      NVAR pixSizeY = gFront_B_pixelY 
     249//                      break 
     250//                       
     251//              case "ML": 
     252//                      NVAR pixSizeY = gMiddle_L_pixelY 
     253//                      break 
     254//              case "MR":               
     255//                      NVAR pixSizeY = gMiddle_R_pixelY 
     256//                      break 
     257//              case "MT": 
     258//                      NVAR pixSizeY = gMiddle_T_pixelY 
     259//                      break    
     260//              case "MB":               
     261//                      NVAR pixSizeY = gMiddle_B_pixelY 
     262//                      break 
     263//                                               
     264//              case "B":                
     265//                      NVAR pixSizeY = gBack_pixelY 
     266//                      break 
     267//                       
     268//              default:                                                         
     269//                      Print "Detector type mismatch in        V_getPixSizeY(type)" 
     270//                      SetDataFolder root: 
     271//                      return(NaN) 
     272//      endswitch 
     273// 
     274//      setDatafolder root: 
    271275                 
    272276        return(pixSizeY) 
     
    278282        String type 
    279283 
    280         SetDataFolder root:Packages:NIST:VSANS:VCALC 
    281                          
    282         strswitch(type)  
    283                 case "FL": 
    284                         NVAR nPix = gFront_L_nPix_X 
    285                         break 
    286                 case "FR":               
    287                         NVAR nPix = gFront_R_nPix_X 
    288                         break 
    289                 case "FT": 
    290                         NVAR nPix = gFront_T_nPix_X 
    291                         break    
    292                 case "FB":               
    293                         NVAR nPix = gFront_B_nPix_X 
    294                         break 
    295                          
    296                 case "ML": 
    297                         NVAR nPix = gMiddle_L_nPix_X 
    298                         break 
    299                 case "MR":               
    300                         NVAR nPix = gMiddle_R_nPix_X 
    301                         break 
    302                 case "MT": 
    303                         NVAR nPix = gMiddle_T_nPix_X 
    304                         break    
    305                 case "MB":               
    306                         NVAR nPix = gMiddle_B_nPix_X 
    307                         break 
    308                                                  
    309                 case "B":                
    310                         NVAR nPix = gBack_nPix_X 
    311                         break 
    312                          
    313                 default:                                                         
    314                         Print "Detector type mismatch in        VCALC_get_nPix_X(type)" 
    315                         SetDataFolder root: 
    316                         return(NaN) 
    317         endswitch 
    318  
    319         setDataFolder root: 
     284        Variable nPix = V_getDet_pixel_num_x("VCALC",type) 
     285         
     286//      SetDataFolder root:Packages:NIST:VSANS:VCALC 
     287//                       
     288//      strswitch(type)  
     289//              case "FL": 
     290//                      NVAR nPix = gFront_L_nPix_X 
     291//                      break 
     292//              case "FR":               
     293//                      NVAR nPix = gFront_R_nPix_X 
     294//                      break 
     295//              case "FT": 
     296//                      NVAR nPix = gFront_T_nPix_X 
     297//                      break    
     298//              case "FB":               
     299//                      NVAR nPix = gFront_B_nPix_X 
     300//                      break 
     301//                       
     302//              case "ML": 
     303//                      NVAR nPix = gMiddle_L_nPix_X 
     304//                      break 
     305//              case "MR":               
     306//                      NVAR nPix = gMiddle_R_nPix_X 
     307//                      break 
     308//              case "MT": 
     309//                      NVAR nPix = gMiddle_T_nPix_X 
     310//                      break    
     311//              case "MB":               
     312//                      NVAR nPix = gMiddle_B_nPix_X 
     313//                      break 
     314//                                               
     315//              case "B":                
     316//                      NVAR nPix = gBack_nPix_X 
     317//                      break 
     318//                       
     319//              default:                                                         
     320//                      Print "Detector type mismatch in        VCALC_get_nPix_X(type)" 
     321//                      SetDataFolder root: 
     322//                      return(NaN) 
     323//      endswitch 
     324// 
     325//      setDataFolder root: 
    320326                 
    321327        return(nPix) 
     
    326332        String type 
    327333 
    328         SetDataFolder root:Packages:NIST:VSANS:VCALC 
    329                          
    330         strswitch(type)  
    331                 case "FL": 
    332                         NVAR nPix = gFront_L_nPix_Y 
    333                         break 
    334                 case "FR":               
    335                         NVAR nPix = gFront_R_nPix_Y 
    336                         break 
    337                 case "FT": 
    338                         NVAR nPix = gFront_T_nPix_Y 
    339                         break    
    340                 case "FB":               
    341                         NVAR nPix = gFront_B_nPix_Y 
    342                         break 
    343                          
    344                 case "ML": 
    345                         NVAR nPix = gMiddle_L_nPix_Y 
    346                         break 
    347                 case "MR":               
    348                         NVAR nPix = gMiddle_R_nPix_Y 
    349                         break 
    350                 case "MT": 
    351                         NVAR nPix = gMiddle_T_nPix_Y 
    352                         break    
    353                 case "MB":               
    354                         NVAR nPix = gMiddle_B_nPix_Y 
    355                         break 
    356                                                  
    357                 case "B":                
    358                         NVAR nPix = gBack_nPix_Y 
    359                         break 
    360                          
    361                 default:                                                         
    362                         Print "Detector type mismatch in        VCALC_get_nPix_Y(type)" 
    363                         SetDataFolder root: 
    364                         return(NaN) 
    365         endswitch 
    366  
    367         SetDataFolder root: 
     334        Variable nPix = V_getDet_pixel_num_y("VCALC",type) 
     335 
     336//      SetDataFolder root:Packages:NIST:VSANS:VCALC 
     337//                       
     338//      strswitch(type)  
     339//              case "FL": 
     340//                      NVAR nPix = gFront_L_nPix_Y 
     341//                      break 
     342//              case "FR":               
     343//                      NVAR nPix = gFront_R_nPix_Y 
     344//                      break 
     345//              case "FT": 
     346//                      NVAR nPix = gFront_T_nPix_Y 
     347//                      break    
     348//              case "FB":               
     349//                      NVAR nPix = gFront_B_nPix_Y 
     350//                      break 
     351//                       
     352//              case "ML": 
     353//                      NVAR nPix = gMiddle_L_nPix_Y 
     354//                      break 
     355//              case "MR":               
     356//                      NVAR nPix = gMiddle_R_nPix_Y 
     357//                      break 
     358//              case "MT": 
     359//                      NVAR nPix = gMiddle_T_nPix_Y 
     360//                      break    
     361//              case "MB":               
     362//                      NVAR nPix = gMiddle_B_nPix_Y 
     363//                      break 
     364//                                               
     365//              case "B":                
     366//                      NVAR nPix = gBack_nPix_Y 
     367//                      break 
     368//                       
     369//              default:                                                         
     370//                      Print "Detector type mismatch in        VCALC_get_nPix_Y(type)" 
     371//                      SetDataFolder root: 
     372//                      return(NaN) 
     373//      endswitch 
     374// 
     375//      SetDataFolder root: 
    368376                 
    369377        return(nPix) 
     
    419427/////////// procedure to concatenate I(q) files into a single file 
    420428// 
    421 // currently, no rescaling is done, just crude concatentate and sort 
    422 // 
     429// currently, no rescaling is done, no trimming is done, just crude concatentate and sort 
     430// 
     431// TODO 
     432// -- all of this needs to be done. There's nothing here... 
     433// 
  • sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/VC_VCALCPanel_MockUp.ipf

    r982 r983  
    673673///// FRONT DETECTOR BANKS 
    674674// dimensions for the detector banks (then get them in the drawing functions) 
     675// Width and height are not part of the Nexus file definition, but are needed for VCALC drawing 
     676// so keep them as variables 
    675677        Variable/G gFront_LR_w = 384            //front bank, nominal LR panel width (mm) 
    676678        Variable/G gFront_LR_h = 1000 
     
    679681 
    680682// SDD offset of T/B (decide on units??) 
     683// for the Nexus file, the detector distance should already be corrected for the "setback" 
     684// of the T/B panels. keep as VCALC variable 
    681685        Variable/G gFront_SDDOffset = 300                       // (mm) 
    682686         
     687         
    683688// detector resolution (xy for each bank!) 
    684         Variable/G gFront_L_pixelX = 0.84                       // (cm)         these tubes are vertical 8.4 mm spacing (JGB 2/2106) 
    685         Variable/G gFront_L_pixelY = 0.8                        // (cm)         //!! now 8 mm, since nPix=128, rather than 256 
    686         Variable/G gFront_R_pixelX = 0.84                       // (cm) 
    687         Variable/G gFront_R_pixelY = 0.8                        // (cm) 
    688          
    689         Variable/G gFront_T_pixelX = 0.4                        // (cm)         these tubes are horizontal 
    690         Variable/G gFront_T_pixelY = 0.84                       // (cm) 
    691         Variable/G gFront_B_pixelX = 0.4                        // (cm) 
    692         Variable/G gFront_B_pixelY = 0.84                       // (cm) 
     689        Make/O/D/N=1 :entry:entry:instrument:detector_FL:x_pixel_size = 0.84            // (cm)         these tubes are vertical 8.4 mm x-spacing (JGB 2/2106) 
     690        Make/O/D/N=1 :entry:entry:instrument:detector_FL:y_pixel_size = 0.8             // (cm)         //!! now 8 mm, since nPix=128, rather than 256 
     691        Make/O/D/N=1 :entry:entry:instrument:detector_FR:x_pixel_size = 0.84 
     692        Make/O/D/N=1 :entry:entry:instrument:detector_FR:y_pixel_size = 0.8 
     693        //T/B 
     694        Make/O/D/N=1 :entry:entry:instrument:detector_FT:x_pixel_size = 0.4             //these tubes are horizontal 
     695        Make/O/D/N=1 :entry:entry:instrument:detector_FT:y_pixel_size = 0.84 
     696        Make/O/D/N=1 :entry:entry:instrument:detector_FB:x_pixel_size = 0.4 
     697        Make/O/D/N=1 :entry:entry:instrument:detector_FB:y_pixel_size = 0.84 
     698         
     699//      Variable/G gFront_L_pixelX = 0.84                        
     700//      Variable/G gFront_L_pixelY = 0.8                         
     701//      Variable/G gFront_R_pixelX = 0.84                       // (cm) 
     702//      Variable/G gFront_R_pixelY = 0.8                        // (cm) 
     703//       
     704//      Variable/G gFront_T_pixelX = 0.4                        // (cm)         these tubes are horizontal 
     705//      Variable/G gFront_T_pixelY = 0.84                       // (cm) 
     706//      Variable/G gFront_B_pixelX = 0.4                        // (cm) 
     707//      Variable/G gFront_B_pixelY = 0.84                       // (cm) 
    693708         
    694709// number of pixels in each bank (this can be modified at acquisition time, so it must be adjustable here) 
    695         Variable/G gFront_L_nPix_X = 48         // == number of tubes 
    696         Variable/G gFront_L_nPix_Y = 128                // == pixels in vertical direction (was 256, John says likely will run @ 128 9/2015) 
    697         Variable/G gFront_R_nPix_X = 48         // == number of tubes 
    698         Variable/G gFront_R_nPix_Y = 128                // == pixels in vertical direction  
    699         Variable/G gFront_T_nPix_X = 128                // == pixels in horizontal direction 
    700         Variable/G gFront_T_nPix_Y = 48         // == number of tubes 
    701         Variable/G gFront_B_nPix_X = 128                // == pixels in horizontal direction 
    702         Variable/G gFront_B_nPix_Y = 48         // == number of tubes 
     710        Make/O/D/N=1 :entry:entry:instrument:detector_FL:pixel_num_x = 48       // == number of tubes 
     711        Make/O/D/N=1 :entry:entry:instrument:detector_FL:pixel_num_y = 128      // == pixels in vertical direction (was 256, John says likely will run @ 128 9/2015) 
     712        Make/O/D/N=1 :entry:entry:instrument:detector_FR:pixel_num_x = 48       // == number of tubes 
     713        Make/O/D/N=1 :entry:entry:instrument:detector_FR:pixel_num_y = 128      // == pixels in vertical direction  
     714        Make/O/D/N=1 :entry:entry:instrument:detector_FT:pixel_num_x = 128      // == pixels in horizontal direction 
     715        Make/O/D/N=1 :entry:entry:instrument:detector_FT:pixel_num_y = 48       // == number of tubes 
     716        Make/O/D/N=1 :entry:entry:instrument:detector_FB:pixel_num_x = 128      // == pixels in horizontal direction 
     717        Make/O/D/N=1 :entry:entry:instrument:detector_FB:pixel_num_y = 48       // == number of tubes 
     718 
     719//      Variable/G gFront_L_nPix_X = 48         // == number of tubes 
     720//      Variable/G gFront_L_nPix_Y = 128                // == pixels in vertical direction (was 256, John says likely will run @ 128 9/2015) 
     721//      Variable/G gFront_R_nPix_X = 48         // == number of tubes 
     722//      Variable/G gFront_R_nPix_Y = 128                // == pixels in vertical direction  
     723//      Variable/G gFront_T_nPix_X = 128                // == pixels in horizontal direction 
     724//      Variable/G gFront_T_nPix_Y = 48         // == number of tubes 
     725//      Variable/G gFront_B_nPix_X = 128                // == pixels in horizontal direction 
     726//      Variable/G gFront_B_nPix_Y = 48         // == number of tubes 
    703727 
    704728 
     
    706730 
    707731///// MIDDLE DETECTOR BANKS 
     732// Width and height are not part of the Nexus file definition, but are needed for VCALC drawing 
     733// so keep them as variables 
    708734        Variable/G gMiddle_LR_w = 384           //middle bank, nominal LR panel width (mm) 
    709735        Variable/G gMiddle_LR_h = 1000 
     
    711737        Variable/G gMiddle_TB_h = 384 
    712738// SDD offset of T/B (decide on units??) 
     739// for the Nexus file, the detector distance should already be corrected for the "setback" 
     740// of the T/B panels. keep as VCALC variable 
    713741        Variable/G gMiddle_SDDOffset = 300                      // (mm) 
    714742         
    715743// detector resolution (xy for each bank!) 
    716         Variable/G gMiddle_L_pixelX = 0.84              // (cm)         these tubes are vertical 
    717         Variable/G gMiddle_L_pixelY = 0.8               // (cm) 
    718         Variable/G gMiddle_R_pixelX = 0.84              // (cm) 
    719         Variable/G gMiddle_R_pixelY = 0.8               // (cm) 
    720          
    721         Variable/G gMiddle_T_pixelX = 0.4                       // (cm)         these tubes are horizontal 
    722         Variable/G gMiddle_T_pixelY = 0.84                      // (cm) 
    723         Variable/G gMiddle_B_pixelX = 0.4                       // (cm) 
    724         Variable/G gMiddle_B_pixelY = 0.84              // (cm) 
     744        Make/O/D/N=1 :entry:entry:instrument:detector_ML:x_pixel_size = 0.84            // (cm)         these tubes are vertical 8.4 mm x-spacing (JGB 2/2106) 
     745        Make/O/D/N=1 :entry:entry:instrument:detector_ML:y_pixel_size = 0.8             // (cm)         //!! now 8 mm, since nPix=128, rather than 256 
     746        Make/O/D/N=1 :entry:entry:instrument:detector_MR:x_pixel_size = 0.84 
     747        Make/O/D/N=1 :entry:entry:instrument:detector_MR:y_pixel_size = 0.8 
     748        //T/B 
     749        Make/O/D/N=1 :entry:entry:instrument:detector_MT:x_pixel_size = 0.4             //these tubes are horizontal 
     750        Make/O/D/N=1 :entry:entry:instrument:detector_MT:y_pixel_size = 0.84 
     751        Make/O/D/N=1 :entry:entry:instrument:detector_MB:x_pixel_size = 0.4 
     752        Make/O/D/N=1 :entry:entry:instrument:detector_MB:y_pixel_size = 0.84 
     753 
     754//      Variable/G gMiddle_L_pixelX = 0.84              // (cm)         these tubes are vertical 
     755//      Variable/G gMiddle_L_pixelY = 0.8               // (cm) 
     756//      Variable/G gMiddle_R_pixelX = 0.84              // (cm) 
     757//      Variable/G gMiddle_R_pixelY = 0.8               // (cm) 
     758//       
     759//      Variable/G gMiddle_T_pixelX = 0.4                       // (cm)         these tubes are horizontal 
     760//      Variable/G gMiddle_T_pixelY = 0.84                      // (cm) 
     761//      Variable/G gMiddle_B_pixelX = 0.4                       // (cm) 
     762//      Variable/G gMiddle_B_pixelY = 0.84              // (cm) 
    725763 
    726764// number of pixels in each bank (this can be modified at acquisition time, so it must be adjustable here) 
    727         Variable/G gMiddle_L_nPix_X = 48                // == number of tubes 
    728         Variable/G gMiddle_L_nPix_Y = 128               // == pixels in vertical direction (was 256, John says likely will run @ 128 9/2015) 
    729         Variable/G gMiddle_R_nPix_X = 48                // == number of tubes 
    730         Variable/G gMiddle_R_nPix_Y = 128               // == pixels in vertical direction  
    731         Variable/G gMiddle_T_nPix_X = 128               // == pixels in horizontal direction 
    732         Variable/G gMiddle_T_nPix_Y = 48                // == number of tubes 
    733         Variable/G gMiddle_B_nPix_X = 128               // == pixels in horizontal direction 
    734         Variable/G gMiddle_B_nPix_Y = 48                // == number of tubes 
     765        Make/O/D/N=1 :entry:entry:instrument:detector_ML:pixel_num_x = 48       // == number of tubes 
     766        Make/O/D/N=1 :entry:entry:instrument:detector_ML:pixel_num_y = 128      // == pixels in vertical direction (was 256, John says likely will run @ 128 9/2015) 
     767        Make/O/D/N=1 :entry:entry:instrument:detector_MR:pixel_num_x = 48       // == number of tubes 
     768        Make/O/D/N=1 :entry:entry:instrument:detector_MR:pixel_num_y = 128      // == pixels in vertical direction  
     769        Make/O/D/N=1 :entry:entry:instrument:detector_MT:pixel_num_x = 128      // == pixels in horizontal direction 
     770        Make/O/D/N=1 :entry:entry:instrument:detector_MT:pixel_num_y = 48       // == number of tubes 
     771        Make/O/D/N=1 :entry:entry:instrument:detector_MB:pixel_num_x = 128      // == pixels in horizontal direction 
     772        Make/O/D/N=1 :entry:entry:instrument:detector_MB:pixel_num_y = 48       // == number of tubes 
     773         
     774//      Variable/G gMiddle_L_nPix_X = 48                // == number of tubes 
     775//      Variable/G gMiddle_L_nPix_Y = 128               // == pixels in vertical direction (was 256, John says likely will run @ 128 9/2015) 
     776//      Variable/G gMiddle_R_nPix_X = 48                // == number of tubes 
     777//      Variable/G gMiddle_R_nPix_Y = 128               // == pixels in vertical direction  
     778//      Variable/G gMiddle_T_nPix_X = 128               // == pixels in horizontal direction 
     779//      Variable/G gMiddle_T_nPix_Y = 48                // == number of tubes 
     780//      Variable/G gMiddle_B_nPix_X = 128               // == pixels in horizontal direction 
     781//      Variable/G gMiddle_B_nPix_Y = 48                // == number of tubes 
    735782 
    736783 
     
    741788        Variable/G gBack_w = 320                                //w and h for the back detector, (mm) 
    742789        Variable/G gBack_h = 320 
    743         Variable/G gBack_pixelX = 0.1           // 1mm resolution (units of cm here) 
    744         Variable/G gBack_pixelY = 0.1 
    745         Variable/G gBack_nPix_X = 320           // detector pixels in x-direction 
    746         Variable/G gBack_nPix_Y = 320    
     790         
     791        Make/O/D/N=1 :entry:entry:instrument:detector_B:x_pixel_size = 0.1              // 1mm resolution (units of cm here) 
     792        Make/O/D/N=1 :entry:entry:instrument:detector_B:y_pixel_size = 0.1               
     793//      Variable/G gBack_pixelX = 0.1            
     794//      Variable/G gBack_pixelY = 0.1 
     795 
     796        Make/O/D/N=1 :entry:entry:instrument:detector_B:pixel_num_x = 320       // detector pixels in x-direction 
     797        Make/O/D/N=1 :entry:entry:instrument:detector_B:pixel_num_y = 320        
     798//      Variable/G gBack_nPix_X = 320            
     799//      Variable/G gBack_nPix_Y = 320    
    747800 
    748801 
     
    754807 
    755808        SetDataFolder root:Packages:NIST:VSANS:VCALC:entry:entry:instrument:detector_FL 
    756         Make/O/D/N=(root:Packages:NIST:VSANS:VCALC:gFront_L_nPix_X,root:Packages:NIST:VSANS:VCALC:gFront_L_nPix_Y) det_FL 
     809        Make/O/D/N=(pixel_num_x[0],pixel_num_y[0]) det_FL 
    757810        Duplicate/O det_FL qTot_FL,qx_FL,qy_FL,qz_FL 
    758811 
    759812        SetDataFolder root:Packages:NIST:VSANS:VCALC:entry:entry:instrument:detector_FR 
    760         Make/O/D/N=(root:Packages:NIST:VSANS:VCALC:gFront_R_nPix_X,root:Packages:NIST:VSANS:VCALC:gFront_R_nPix_Y) det_FR 
     813        Make/O/D/N=(pixel_num_x[0],pixel_num_y[0]) det_FR 
    761814        Duplicate/O det_FR qTot_FR,qx_FR,qy_FR,qz_FR 
    762815 
    763816        SetDataFolder root:Packages:NIST:VSANS:VCALC:entry:entry:instrument:detector_FT 
    764         Make/O/D/N=(root:Packages:NIST:VSANS:VCALC:gFront_T_nPix_X,root:Packages:NIST:VSANS:VCALC:gFront_T_nPix_Y) det_FT 
     817        Make/O/D/N=(pixel_num_x[0],pixel_num_y[0]) det_FT 
    765818        Duplicate/O det_FT qTot_FT,qx_FT,qy_FT,qz_FT 
    766819         
    767820        SetDataFolder root:Packages:NIST:VSANS:VCALC:entry:entry:instrument:detector_FB 
    768         Make/O/D/N=(root:Packages:NIST:VSANS:VCALC:gFront_B_nPix_X,root:Packages:NIST:VSANS:VCALC:gFront_B_nPix_Y) det_FB 
     821        Make/O/D/N=(pixel_num_x[0],pixel_num_y[0]) det_FB 
    769822        Duplicate/O det_FB qTot_FB,qx_FB,qy_FB,qz_FB 
    770823 
     
    775828 
    776829        SetDataFolder root:Packages:NIST:VSANS:VCALC:entry:entry:instrument:detector_ML 
    777         Make/O/D/N=(root:Packages:NIST:VSANS:VCALC:gMiddle_L_nPix_X,root:Packages:NIST:VSANS:VCALC:gMiddle_L_nPix_Y) det_ML 
     830        Make/O/D/N=(pixel_num_x[0],pixel_num_y[0]) det_ML 
    778831        Duplicate/O det_ML qTot_ML,qx_ML,qy_ML,qz_ML 
    779832         
    780833        SetDataFolder root:Packages:NIST:VSANS:VCALC:entry:entry:instrument:detector_MR 
    781         Make/O/D/N=(root:Packages:NIST:VSANS:VCALC:gMiddle_R_nPix_X,root:Packages:NIST:VSANS:VCALC:gMiddle_R_nPix_Y) det_MR 
     834        Make/O/D/N=(pixel_num_x[0],pixel_num_y[0]) det_MR 
    782835        Duplicate/O det_MR qTot_MR,qx_MR,qy_MR,qz_MR 
    783836 
    784837        SetDataFolder root:Packages:NIST:VSANS:VCALC:entry:entry:instrument:detector_MT 
    785         Make/O/D/N=(root:Packages:NIST:VSANS:VCALC:gMiddle_T_nPix_X,root:Packages:NIST:VSANS:VCALC:gMiddle_T_nPix_Y) det_MT 
     838        Make/O/D/N=(pixel_num_x[0],pixel_num_y[0]) det_MT 
    786839        Duplicate/O det_MT qTot_MT,qx_MT,qy_MT,qz_MT 
    787840         
    788841        SetDataFolder root:Packages:NIST:VSANS:VCALC:entry:entry:instrument:detector_MB 
    789         Make/O/D/N=(root:Packages:NIST:VSANS:VCALC:gMiddle_B_nPix_X,root:Packages:NIST:VSANS:VCALC:gMiddle_B_nPix_Y) det_MB 
     842        Make/O/D/N=(pixel_num_x[0],pixel_num_y[0]) det_MB 
    790843        Duplicate/O det_MB qTot_MB,qx_MB,qy_MB,qz_MB 
    791844 
     
    795848 
    796849        SetDataFolder root:Packages:NIST:VSANS:VCALC:entry:entry:instrument:detector_B 
    797         Make/O/D/N=(root:Packages:NIST:VSANS:VCALC:gBack_nPix_X,root:Packages:NIST:VSANS:VCALC:gBack_nPix_Y) det_B 
     850        Make/O/D/N=(pixel_num_x[0],pixel_num_y[0]) det_B 
    798851        Duplicate/O det_B qTot_B,qx_B,qy_B,qz_B 
    799852 
  • sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_HDF5_RW_Utils.ipf

    r982 r983  
    544544//     wave as passed in, or if it will only write as DP. 
    545545// -- do I need to write separate functions for real, integer, etc.? 
     546// -- the lines to create a missing group have been commented out to avoid filling 
     547//    in missing fields that should have been generated by the data writer. Need to make 
     548//    a separate function that will write and generate if needed, and use this in specific cases 
     549//    only if I really have to force it. 
    546550//       
    547551// -x change the /P=home to the user-defined data path (catPathName)             
     
    578582//              groupName = "/" + NXentry_name + groupName 
    579583                Print "groupName = ",groupName 
     584                HDF5OpenGroup /Z fileID , groupName, groupID 
     585 
     586                if(!groupID) 
     587                // don't create the group if the name isn't right -- throw up an error 
     588                        //HDF5CreateGroup /Z fileID, groupName, groupID 
     589                        err = 1 
     590                        HDF5CloseFile /Z fileID 
     591                        DoAlert 0, "HDF5 group does not exist "+groupName+varname 
     592                        return(err) 
     593                else 
     594                        // get attributes and save them 
     595                        //HDF5ListAttributes /Z fileID, groupName    this is returning null. expect it to return semicolon delimited list of attributes  
     596                        //Wave attributes = S_HDF5ListAttributes 
     597                endif 
     598         
     599                HDF5SaveData /O /Z /IGOR=0 wav, groupID, varName 
     600                if (V_flag != 0) 
     601                        err = 1 
     602                        abort "Cannot save wave to HDF5 dataset " + varName 
     603                endif    
     604                 
     605                 
     606                //attributes - something could be added here as optional parameters and flagged 
     607//              String attributes = "units" 
     608//              Make/O/T/N=1 tmp 
     609//              tmp[0] = "dimensionless" 
     610//              HDF5SaveData /O /Z /IGOR=0 /A=attributes tmp, groupID, varName 
     611//              if (V_flag != 0) 
     612//                      err = 1 
     613//                      abort "Cannot save attributes to HDF5 dataset" 
     614//              endif    
     615        catch 
     616 
     617        endtry 
     618 
     619// it is not necessary to close the group here. HDF5CloseFile will close the group as well       
     620        if(groupID) 
     621                HDF5CloseGroup /Z groupID 
     622        endif 
     623         
     624        if(fileID) 
     625                HDF5CloseFile /Z fileID  
     626        endif 
     627 
     628        setDataFolder $cDF 
     629        return err 
     630end 
     631 
     632//Write Wave 'wav' to hdf5 file 'fname' 
     633//Based on code from ANSTO (N. Hauser. nha 8/1/09) 
     634// 
     635// TODO 
     636// 
     637// -x change the /P=home to the user-defined data path (catPathName)             
     638// 
     639Function V_WriteTextWaveToHDF(fname, groupName, varName, wav) 
     640        String fname, groupName, varName 
     641        Wave/T wav 
     642         
     643        variable err=0, fileID,groupID 
     644        String cDF = getDataFolder(1), temp 
     645        String NXentry_name 
     646         
     647        try      
     648                HDF5OpenFile/P=catPathName /Z fileID  as fname  //open file read-write 
     649                if(!fileID) 
     650                        err = 1 
     651                        abort "HDF5 file does not exist" 
     652                endif 
     653                 
     654                //get the NXentry node name 
     655                HDF5ListGroup /TYPE=1 fileID, "/" 
     656                //remove trailing ; from S_HDF5ListGroup 
     657                 
     658                Print "S_HDF5ListGroup = ",S_HDF5ListGroup 
     659                 
     660                NXentry_name = S_HDF5ListGroup 
     661                NXentry_name = ReplaceString(";",NXentry_name,"") 
     662                if(strsearch(NXentry_name,":",0)!=-1) //more than one entry under the root node 
     663                        err = 1 
     664                        abort "More than one entry under the root node. Ambiguous" 
     665                endif  
     666 
     667                //concatenate NXentry node name and groupName 
     668                // SRK - NOV2015 - dropped this and require the full group name passed in 
     669//              groupName = "/" + NXentry_name + groupName 
     670                Print "groupName = ",groupName 
     671 
    580672                HDF5OpenGroup /Z fileID , groupName, groupID 
    581673 
     
    612704 
    613705        endtry 
    614  
    615 // it is not necessary to close the group here. HDF5CloseFile will close the group as well       
     706         
    616707        if(groupID) 
    617708                HDF5CloseGroup /Z groupID 
     
    626717end 
    627718 
    628 //Write Wave 'wav' to hdf5 file 'fname' 
    629 //Based on code from ANSTO (N. Hauser. nha 8/1/09) 
    630 // 
    631 // TODO 
    632 // 
    633 // -x change the /P=home to the user-defined data path (catPathName)             
    634 // 
    635 Function V_WriteTextWaveToHDF(fname, groupName, varName, wav) 
    636         String fname, groupName, varName 
    637         Wave/T wav 
    638          
    639         variable err=0, fileID,groupID 
    640         String cDF = getDataFolder(1), temp 
    641         String NXentry_name 
    642          
    643         try      
    644                 HDF5OpenFile/P=catPathName /Z fileID  as fname  //open file read-write 
    645                 if(!fileID) 
    646                         err = 1 
    647                         abort "HDF5 file does not exist" 
    648                 endif 
    649                  
    650                 //get the NXentry node name 
    651                 HDF5ListGroup /TYPE=1 fileID, "/" 
    652                 //remove trailing ; from S_HDF5ListGroup 
    653                  
    654                 Print "S_HDF5ListGroup = ",S_HDF5ListGroup 
    655                  
    656                 NXentry_name = S_HDF5ListGroup 
    657                 NXentry_name = ReplaceString(";",NXentry_name,"") 
    658                 if(strsearch(NXentry_name,":",0)!=-1) //more than one entry under the root node 
    659                         err = 1 
    660                         abort "More than one entry under the root node. Ambiguous" 
    661                 endif  
    662  
    663                 //concatenate NXentry node name and groupName 
    664                 // SRK - NOV2015 - dropped this and require the full group name passed in 
    665 //              groupName = "/" + NXentry_name + groupName 
    666                 Print "groupName = ",groupName 
    667  
    668                 HDF5OpenGroup /Z fileID , groupName, groupID 
    669  
    670                 if(!groupID) 
    671                 // don't create the group it the name isn't right -- throw up an error 
    672                         //HDF5CreateGroup /Z fileID, groupName, groupID 
    673                         err = 1 
    674                         HDF5CloseFile /Z fileID 
    675                         DoAlert 0, "HDF5 group does not exist "+groupName+varname 
    676                         return(err) 
    677                 else 
    678                         // get attributes and save them 
    679                         //HDF5ListAttributes /Z fileID, groupName    this is returning null. expect it to return semicolon delimited list of attributes  
    680                         //Wave attributes = S_HDF5ListAttributes 
    681                 endif 
    682          
    683                 HDF5SaveData /O /Z /IGOR=0 wav, groupID, varName 
    684                 if (V_flag != 0) 
    685                         err = 1 
    686                         abort "Cannot save wave to HDF5 dataset " + varName 
    687                 endif    
    688                  
    689                  
    690                 //attributes - something could be added here as optional parameters and flagged 
    691 //              String attributes = "units" 
    692 //              Make/O/T/N=1 tmp 
    693 //              tmp[0] = "dimensionless" 
    694 //              HDF5SaveData /O /Z /IGOR=0 /A=attributes tmp, groupID, varName 
    695 //              if (V_flag != 0) 
    696 //                      err = 1 
    697 //                      abort "Cannot save attributes to HDF5 dataset" 
    698 //              endif    
    699         catch 
    700  
    701         endtry 
    702          
    703         if(groupID) 
    704                 HDF5CloseGroup /Z groupID 
    705         endif 
    706          
    707         if(fileID) 
    708                 HDF5CloseFile /Z fileID  
    709         endif 
    710  
    711         setDataFolder $cDF 
    712         return err 
    713 end 
    714  
    715719////////////////////////////// 
    716720////////////////////////////// 
    717721////////////////////////////// 
    718722 
     723// TODO: 
     724// -- this must be called as needed to force a re-read of the data from disk 
     725//    "as needed" means that when an operation is done that needs to ensure 
     726//     a fresh read from disk, it must take care of the kill. 
     727// -- the ksBaseDFPath needs to be removed. It's currently pointing to RawVSANS, which is 
     728//    really not used as intended anymore. 
     729// 
    719730Function V_KillNamedDataFolder(fname) 
    720731        String fname 
     
    735746//returns the name as a string without the ".fbdfasga" extension 
    736747// 
    737 // returns the input string if a"." can't be found (maybe it wasn't there" 
     748// returns the input string if a "." can't be found (maybe it wasn't there) 
    738749Function/S V_RemoveDotExtension(item) 
    739750        String item 
  • sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_HDF5_Write.ipf

    r981 r983  
    2222////////////////////////////////////////////// 
    2323////////////////////////////////// 
    24 // for TESTING of the get functions - to quickly access and se if there are errors 
     24// for TESTING of the get functions - to quickly access and see if there are errors 
    2525// 
    2626// -- not sure how to test the string functions -- can't seem to get a FUNCREF to a string function 
     
    183183         
    184184        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    185         err = V_KillNamedDataFolder(fname) 
    186         if(err) 
    187                 Print "DataFolder kill err = ",err 
    188         endif 
     185//      err = V_KillNamedDataFolder(fname) 
     186//      if(err) 
     187//              Print "DataFolder kill err = ",err 
     188//      endif 
    189189                 
    190190        return(err) 
     
    211211        endif 
    212212        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    213         err = V_KillNamedDataFolder(fname) 
    214         if(err) 
    215                 Print "DataFolder kill err = ",err 
    216         endif 
     213//      err = V_KillNamedDataFolder(fname) 
     214//      if(err) 
     215//              Print "DataFolder kill err = ",err 
     216//      endif 
    217217        return(err) 
    218218End 
     
    236236         
    237237        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    238         err = V_KillNamedDataFolder(fname) 
    239         if(err) 
    240                 Print "DataFolder kill err = ",err 
    241         endif 
     238//      err = V_KillNamedDataFolder(fname) 
     239//      if(err) 
     240//              Print "DataFolder kill err = ",err 
     241//      endif 
    242242                 
    243243        return(err) 
     
    262262         
    263263        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    264         err = V_KillNamedDataFolder(fname) 
    265         if(err) 
    266                 Print "DataFolder kill err = ",err 
    267         endif 
     264//      err = V_KillNamedDataFolder(fname) 
     265//      if(err) 
     266//              Print "DataFolder kill err = ",err 
     267//      endif 
    268268                 
    269269        return(err) 
     
    290290        endif 
    291291        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    292         err = V_KillNamedDataFolder(fname) 
    293         if(err) 
    294                 Print "DataFolder kill err = ",err 
    295         endif 
     292//      err = V_KillNamedDataFolder(fname) 
     293//      if(err) 
     294//              Print "DataFolder kill err = ",err 
     295//      endif 
    296296        return(err) 
    297297End 
     
    316316         
    317317        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    318         err = V_KillNamedDataFolder(fname) 
    319         if(err) 
    320                 Print "DataFolder kill err = ",err 
    321         endif 
     318//      err = V_KillNamedDataFolder(fname) 
     319//      if(err) 
     320//              Print "DataFolder kill err = ",err 
     321//      endif 
    322322                 
    323323        return(err) 
     
    342342         
    343343        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    344         err = V_KillNamedDataFolder(fname) 
    345         if(err) 
    346                 Print "DataFolder kill err = ",err 
    347         endif 
     344//      err = V_KillNamedDataFolder(fname) 
     345//      if(err) 
     346//              Print "DataFolder kill err = ",err 
     347//      endif 
    348348                 
    349349        return(err) 
     
    368368         
    369369        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    370         err = V_KillNamedDataFolder(fname) 
    371         if(err) 
    372                 Print "DataFolder kill err = ",err 
    373         endif 
     370//      err = V_KillNamedDataFolder(fname) 
     371//      if(err) 
     372//              Print "DataFolder kill err = ",err 
     373//      endif 
    374374                 
    375375        return(err) 
     
    394394         
    395395        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    396         err = V_KillNamedDataFolder(fname) 
    397         if(err) 
    398                 Print "DataFolder kill err = ",err 
    399         endif 
     396//      err = V_KillNamedDataFolder(fname) 
     397//      if(err) 
     398//              Print "DataFolder kill err = ",err 
     399//      endif 
    400400                 
    401401        return(err) 
     
    422422        endif 
    423423        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    424         err = V_KillNamedDataFolder(fname) 
    425         if(err) 
    426                 Print "DataFolder kill err = ",err 
    427         endif 
     424//      err = V_KillNamedDataFolder(fname) 
     425//      if(err) 
     426//              Print "DataFolder kill err = ",err 
     427//      endif 
    428428        return(err) 
    429429End 
     
    447447         
    448448        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    449         err = V_KillNamedDataFolder(fname) 
    450         if(err) 
    451                 Print "DataFolder kill err = ",err 
    452         endif 
     449//      err = V_KillNamedDataFolder(fname) 
     450//      if(err) 
     451//              Print "DataFolder kill err = ",err 
     452//      endif 
    453453                 
    454454        return(err) 
     
    473473         
    474474        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    475         err = V_KillNamedDataFolder(fname) 
    476         if(err) 
    477                 Print "DataFolder kill err = ",err 
    478         endif 
     475//      err = V_KillNamedDataFolder(fname) 
     476//      if(err) 
     477//              Print "DataFolder kill err = ",err 
     478//      endif 
    479479                 
    480480        return(err) 
     
    500500         
    501501        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    502         err = V_KillNamedDataFolder(fname) 
    503         if(err) 
    504                 Print "DataFolder kill err = ",err 
    505         endif 
     502//      err = V_KillNamedDataFolder(fname) 
     503//      if(err) 
     504//              Print "DataFolder kill err = ",err 
     505//      endif 
    506506                 
    507507        return(err) 
     
    526526         
    527527        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    528         err = V_KillNamedDataFolder(fname) 
    529         if(err) 
    530                 Print "DataFolder kill err = ",err 
    531         endif 
     528//      err = V_KillNamedDataFolder(fname) 
     529//      if(err) 
     530//              Print "DataFolder kill err = ",err 
     531//      endif 
    532532                 
    533533        return(err) 
     
    559559         
    560560        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    561         err = V_KillNamedDataFolder(fname) 
    562         if(err) 
    563                 Print "DataFolder kill err = ",err 
    564         endif 
     561//      err = V_KillNamedDataFolder(fname) 
     562//      if(err) 
     563//              Print "DataFolder kill err = ",err 
     564//      endif 
    565565                 
    566566        return(err) 
     
    592592        endif 
    593593        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    594         err = V_KillNamedDataFolder(fname) 
    595         if(err) 
    596                 Print "DataFolder kill err = ",err 
    597         endif 
     594//      err = V_KillNamedDataFolder(fname) 
     595//      if(err) 
     596//              Print "DataFolder kill err = ",err 
     597//      endif 
    598598        return(err) 
    599599end 
     
    618618        endif 
    619619        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    620         err = V_KillNamedDataFolder(fname) 
    621         if(err) 
    622                 Print "DataFolder kill err = ",err 
    623         endif 
     620//      err = V_KillNamedDataFolder(fname) 
     621//      if(err) 
     622//              Print "DataFolder kill err = ",err 
     623//      endif 
    624624        return(err) 
    625625end 
     
    644644        endif 
    645645        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    646         err = V_KillNamedDataFolder(fname) 
    647         if(err) 
    648                 Print "DataFolder kill err = ",err 
    649         endif 
     646//      err = V_KillNamedDataFolder(fname) 
     647//      if(err) 
     648//              Print "DataFolder kill err = ",err 
     649//      endif 
    650650        return(err) 
    651651end 
     
    670670        endif 
    671671        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    672         err = V_KillNamedDataFolder(fname) 
    673         if(err) 
    674                 Print "DataFolder kill err = ",err 
    675         endif 
     672//      err = V_KillNamedDataFolder(fname) 
     673//      if(err) 
     674//              Print "DataFolder kill err = ",err 
     675//      endif 
    676676        return(err) 
    677677end 
     
    696696        endif 
    697697        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    698         err = V_KillNamedDataFolder(fname) 
    699         if(err) 
    700                 Print "DataFolder kill err = ",err 
    701         endif 
     698//      err = V_KillNamedDataFolder(fname) 
     699//      if(err) 
     700//              Print "DataFolder kill err = ",err 
     701//      endif 
    702702        return(err) 
    703703end 
     
    722722        endif 
    723723        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    724         err = V_KillNamedDataFolder(fname) 
    725         if(err) 
    726                 Print "DataFolder kill err = ",err 
    727         endif 
     724//      err = V_KillNamedDataFolder(fname) 
     725//      if(err) 
     726//              Print "DataFolder kill err = ",err 
     727//      endif 
    728728        return(err) 
    729729end 
     
    748748        endif 
    749749        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    750         err = V_KillNamedDataFolder(fname) 
    751         if(err) 
    752                 Print "DataFolder kill err = ",err 
    753         endif 
     750//      err = V_KillNamedDataFolder(fname) 
     751//      if(err) 
     752//              Print "DataFolder kill err = ",err 
     753//      endif 
    754754        return(err) 
    755755end 
     
    773773         
    774774        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    775         err = V_KillNamedDataFolder(fname) 
    776         if(err) 
    777                 Print "DataFolder kill err = ",err 
    778         endif 
     775//      err = V_KillNamedDataFolder(fname) 
     776//      if(err) 
     777//              Print "DataFolder kill err = ",err 
     778//      endif 
    779779                 
    780780        return(err) 
     
    800800        endif 
    801801        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    802         err = V_KillNamedDataFolder(fname) 
    803         if(err) 
    804                 Print "DataFolder kill err = ",err 
    805         endif 
     802//      err = V_KillNamedDataFolder(fname) 
     803//      if(err) 
     804//              Print "DataFolder kill err = ",err 
     805//      endif 
    806806        return(err) 
    807807end 
     
    825825        endif 
    826826        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    827         err = V_KillNamedDataFolder(fname) 
    828         if(err) 
    829                 Print "DataFolder kill err = ",err 
    830         endif 
     827//      err = V_KillNamedDataFolder(fname) 
     828//      if(err) 
     829//              Print "DataFolder kill err = ",err 
     830//      endif 
    831831        return(err) 
    832832end 
     
    850850        endif 
    851851        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    852         err = V_KillNamedDataFolder(fname) 
    853         if(err) 
    854                 Print "DataFolder kill err = ",err 
    855         endif 
     852//      err = V_KillNamedDataFolder(fname) 
     853//      if(err) 
     854//              Print "DataFolder kill err = ",err 
     855//      endif 
    856856        return(err) 
    857857end 
     
    882882         
    883883        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    884         err = V_KillNamedDataFolder(fname) 
    885         if(err) 
    886                 Print "DataFolder kill err = ",err 
    887         endif 
     884//      err = V_KillNamedDataFolder(fname) 
     885//      if(err) 
     886//              Print "DataFolder kill err = ",err 
     887//      endif 
    888888                 
    889889        return(err) 
     
    907907         
    908908        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    909         err = V_KillNamedDataFolder(fname) 
    910         if(err) 
    911                 Print "DataFolder kill err = ",err 
    912         endif 
     909//      err = V_KillNamedDataFolder(fname) 
     910//      if(err) 
     911//              Print "DataFolder kill err = ",err 
     912//      endif 
    913913                 
    914914        return(err) 
     
    932932         
    933933        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    934         err = V_KillNamedDataFolder(fname) 
    935         if(err) 
    936                 Print "DataFolder kill err = ",err 
    937         endif 
     934//      err = V_KillNamedDataFolder(fname) 
     935//      if(err) 
     936//              Print "DataFolder kill err = ",err 
     937//      endif 
    938938                 
    939939        return(err) 
     
    962962        endif 
    963963        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    964         err = V_KillNamedDataFolder(fname) 
    965         if(err) 
    966                 Print "DataFolder kill err = ",err 
    967         endif 
     964//      err = V_KillNamedDataFolder(fname) 
     965//      if(err) 
     966//              Print "DataFolder kill err = ",err 
     967//      endif 
    968968        return(err) 
    969969end 
     
    990990        endif 
    991991        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    992         err = V_KillNamedDataFolder(fname) 
    993         if(err) 
    994                 Print "DataFolder kill err = ",err 
    995         endif 
     992//      err = V_KillNamedDataFolder(fname) 
     993//      if(err) 
     994//              Print "DataFolder kill err = ",err 
     995//      endif 
    996996        return(err) 
    997997end 
     
    10171017        endif 
    10181018        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1019         err = V_KillNamedDataFolder(fname) 
    1020         if(err) 
    1021                 Print "DataFolder kill err = ",err 
    1022         endif 
     1019//      err = V_KillNamedDataFolder(fname) 
     1020//      if(err) 
     1021//              Print "DataFolder kill err = ",err 
     1022//      endif 
    10231023        return(err) 
    10241024end 
     
    10441044        endif 
    10451045        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1046         err = V_KillNamedDataFolder(fname) 
    1047         if(err) 
    1048                 Print "DataFolder kill err = ",err 
    1049         endif 
     1046//      err = V_KillNamedDataFolder(fname) 
     1047//      if(err) 
     1048//              Print "DataFolder kill err = ",err 
     1049//      endif 
    10501050        return(err) 
    10511051end 
     
    10711071        endif 
    10721072        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1073         err = V_KillNamedDataFolder(fname) 
    1074         if(err) 
    1075                 Print "DataFolder kill err = ",err 
    1076         endif 
     1073//      err = V_KillNamedDataFolder(fname) 
     1074//      if(err) 
     1075//              Print "DataFolder kill err = ",err 
     1076//      endif 
    10771077        return(err) 
    10781078end 
     
    11001100        endif 
    11011101        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1102         err = V_KillNamedDataFolder(fname) 
    1103         if(err) 
    1104                 Print "DataFolder kill err = ",err 
    1105         endif 
     1102//      err = V_KillNamedDataFolder(fname) 
     1103//      if(err) 
     1104//              Print "DataFolder kill err = ",err 
     1105//      endif 
    11061106        return(err) 
    11071107end 
     
    11261126         
    11271127        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1128         err = V_KillNamedDataFolder(fname) 
    1129         if(err) 
    1130                 Print "DataFolder kill err = ",err 
    1131         endif 
     1128//      err = V_KillNamedDataFolder(fname) 
     1129//      if(err) 
     1130//              Print "DataFolder kill err = ",err 
     1131//      endif 
    11321132                 
    11331133        return(err) 
     
    11531153        endif 
    11541154        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1155         err = V_KillNamedDataFolder(fname) 
    1156         if(err) 
    1157                 Print "DataFolder kill err = ",err 
    1158         endif 
     1155//      err = V_KillNamedDataFolder(fname) 
     1156//      if(err) 
     1157//              Print "DataFolder kill err = ",err 
     1158//      endif 
    11591159        return(err) 
    11601160end 
     
    11791179         
    11801180        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1181         err = V_KillNamedDataFolder(fname) 
    1182         if(err) 
    1183                 Print "DataFolder kill err = ",err 
    1184         endif 
     1181//      err = V_KillNamedDataFolder(fname) 
     1182//      if(err) 
     1183//              Print "DataFolder kill err = ",err 
     1184//      endif 
    11851185                 
    11861186        return(err) 
     
    12081208        endif 
    12091209        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1210         err = V_KillNamedDataFolder(fname) 
    1211         if(err) 
    1212                 Print "DataFolder kill err = ",err 
    1213         endif 
     1210//      err = V_KillNamedDataFolder(fname) 
     1211//      if(err) 
     1212//              Print "DataFolder kill err = ",err 
     1213//      endif 
    12141214        return(err) 
    12151215end 
     
    12331233        endif 
    12341234        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1235         err = V_KillNamedDataFolder(fname) 
    1236         if(err) 
    1237                 Print "DataFolder kill err = ",err 
    1238         endif 
     1235//      err = V_KillNamedDataFolder(fname) 
     1236//      if(err) 
     1237//              Print "DataFolder kill err = ",err 
     1238//      endif 
    12391239        return(err) 
    12401240end 
     
    12581258        endif 
    12591259        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1260         err = V_KillNamedDataFolder(fname) 
    1261         if(err) 
    1262                 Print "DataFolder kill err = ",err 
    1263         endif 
     1260//      err = V_KillNamedDataFolder(fname) 
     1261//      if(err) 
     1262//              Print "DataFolder kill err = ",err 
     1263//      endif 
    12641264        return(err) 
    12651265end 
     
    12831283        endif 
    12841284        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1285         err = V_KillNamedDataFolder(fname) 
    1286         if(err) 
    1287                 Print "DataFolder kill err = ",err 
    1288         endif 
     1285//      err = V_KillNamedDataFolder(fname) 
     1286//      if(err) 
     1287//              Print "DataFolder kill err = ",err 
     1288//      endif 
    12891289        return(err) 
    12901290end 
     
    13081308        endif 
    13091309        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1310         err = V_KillNamedDataFolder(fname) 
    1311         if(err) 
    1312                 Print "DataFolder kill err = ",err 
    1313         endif 
     1310//      err = V_KillNamedDataFolder(fname) 
     1311//      if(err) 
     1312//              Print "DataFolder kill err = ",err 
     1313//      endif 
    13141314        return(err) 
    13151315end 
     
    13331333        endif 
    13341334        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1335         err = V_KillNamedDataFolder(fname) 
    1336         if(err) 
    1337                 Print "DataFolder kill err = ",err 
    1338         endif 
     1335//      err = V_KillNamedDataFolder(fname) 
     1336//      if(err) 
     1337//              Print "DataFolder kill err = ",err 
     1338//      endif 
    13391339        return(err) 
    13401340end 
     
    13571357         
    13581358        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1359         err = V_KillNamedDataFolder(fname) 
    1360         if(err) 
    1361                 Print "DataFolder kill err = ",err 
    1362         endif 
     1359//      err = V_KillNamedDataFolder(fname) 
     1360//      if(err) 
     1361//              Print "DataFolder kill err = ",err 
     1362//      endif 
    13631363                 
    13641364        return(err) 
     
    13821382         
    13831383        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1384         err = V_KillNamedDataFolder(fname) 
    1385         if(err) 
    1386                 Print "DataFolder kill err = ",err 
    1387         endif 
     1384//      err = V_KillNamedDataFolder(fname) 
     1385//      if(err) 
     1386//              Print "DataFolder kill err = ",err 
     1387//      endif 
    13881388                 
    13891389        return(err) 
     
    14101410        endif 
    14111411        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1412         err = V_KillNamedDataFolder(fname) 
    1413         if(err) 
    1414                 Print "DataFolder kill err = ",err 
    1415         endif 
     1412//      err = V_KillNamedDataFolder(fname) 
     1413//      if(err) 
     1414//              Print "DataFolder kill err = ",err 
     1415//      endif 
    14161416        return(err) 
    14171417end 
     
    14351435        endif 
    14361436        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1437         err = V_KillNamedDataFolder(fname) 
    1438         if(err) 
    1439                 Print "DataFolder kill err = ",err 
    1440         endif 
     1437//      err = V_KillNamedDataFolder(fname) 
     1438//      if(err) 
     1439//              Print "DataFolder kill err = ",err 
     1440//      endif 
    14411441        return(err) 
    14421442end 
     
    14591459         
    14601460        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1461         err = V_KillNamedDataFolder(fname) 
    1462         if(err) 
    1463                 Print "DataFolder kill err = ",err 
    1464         endif 
     1461//      err = V_KillNamedDataFolder(fname) 
     1462//      if(err) 
     1463//              Print "DataFolder kill err = ",err 
     1464//      endif 
    14651465                 
    14661466        return(err) 
     
    14851485        endif 
    14861486        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1487         err = V_KillNamedDataFolder(fname) 
    1488         if(err) 
    1489                 Print "DataFolder kill err = ",err 
    1490         endif 
     1487//      err = V_KillNamedDataFolder(fname) 
     1488//      if(err) 
     1489//              Print "DataFolder kill err = ",err 
     1490//      endif 
    14911491        return(err) 
    14921492end 
     
    15091509         
    15101510        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1511         err = V_KillNamedDataFolder(fname) 
    1512         if(err) 
    1513                 Print "DataFolder kill err = ",err 
    1514         endif 
     1511//      err = V_KillNamedDataFolder(fname) 
     1512//      if(err) 
     1513//              Print "DataFolder kill err = ",err 
     1514//      endif 
    15151515                 
    15161516        return(err) 
     
    15351535         
    15361536        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1537         err = V_KillNamedDataFolder(fname) 
    1538         if(err) 
    1539                 Print "DataFolder kill err = ",err 
    1540         endif 
     1537//      err = V_KillNamedDataFolder(fname) 
     1538//      if(err) 
     1539//              Print "DataFolder kill err = ",err 
     1540//      endif 
    15411541                 
    15421542        return(err) 
     
    15611561        endif 
    15621562        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1563         err = V_KillNamedDataFolder(fname) 
    1564         if(err) 
    1565                 Print "DataFolder kill err = ",err 
    1566         endif 
     1563//      err = V_KillNamedDataFolder(fname) 
     1564//      if(err) 
     1565//              Print "DataFolder kill err = ",err 
     1566//      endif 
    15671567        return(err) 
    15681568end 
     
    15861586        endif 
    15871587        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1588         err = V_KillNamedDataFolder(fname) 
    1589         if(err) 
    1590                 Print "DataFolder kill err = ",err 
    1591         endif 
     1588//      err = V_KillNamedDataFolder(fname) 
     1589//      if(err) 
     1590//              Print "DataFolder kill err = ",err 
     1591//      endif 
    15921592        return(err) 
    15931593end 
     
    16121612        endif 
    16131613        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1614         err = V_KillNamedDataFolder(fname) 
    1615         if(err) 
    1616                 Print "DataFolder kill err = ",err 
    1617         endif 
     1614//      err = V_KillNamedDataFolder(fname) 
     1615//      if(err) 
     1616//              Print "DataFolder kill err = ",err 
     1617//      endif 
    16181618        return(err) 
    16191619end 
     
    16371637        endif 
    16381638        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1639         err = V_KillNamedDataFolder(fname) 
    1640         if(err) 
    1641                 Print "DataFolder kill err = ",err 
    1642         endif 
     1639//      err = V_KillNamedDataFolder(fname) 
     1640//      if(err) 
     1641//              Print "DataFolder kill err = ",err 
     1642//      endif 
    16431643        return(err) 
    16441644end 
     
    16621662        endif 
    16631663        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1664         err = V_KillNamedDataFolder(fname) 
    1665         if(err) 
    1666                 Print "DataFolder kill err = ",err 
    1667         endif 
     1664//      err = V_KillNamedDataFolder(fname) 
     1665//      if(err) 
     1666//              Print "DataFolder kill err = ",err 
     1667//      endif 
    16681668        return(err) 
    16691669end 
     
    16871687        endif 
    16881688        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1689         err = V_KillNamedDataFolder(fname) 
    1690         if(err) 
    1691                 Print "DataFolder kill err = ",err 
    1692         endif 
     1689//      err = V_KillNamedDataFolder(fname) 
     1690//      if(err) 
     1691//              Print "DataFolder kill err = ",err 
     1692//      endif 
    16931693        return(err) 
    16941694end 
     
    17121712        endif 
    17131713        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1714         err = V_KillNamedDataFolder(fname) 
    1715         if(err) 
    1716                 Print "DataFolder kill err = ",err 
    1717         endif 
     1714//      err = V_KillNamedDataFolder(fname) 
     1715//      if(err) 
     1716//              Print "DataFolder kill err = ",err 
     1717//      endif 
    17181718        return(err) 
    17191719end 
     
    17371737        endif 
    17381738        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1739         err = V_KillNamedDataFolder(fname) 
    1740         if(err) 
    1741                 Print "DataFolder kill err = ",err 
    1742         endif 
     1739//      err = V_KillNamedDataFolder(fname) 
     1740//      if(err) 
     1741//              Print "DataFolder kill err = ",err 
     1742//      endif 
    17431743        return(err) 
    17441744end 
     
    17621762        endif 
    17631763        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1764         err = V_KillNamedDataFolder(fname) 
    1765         if(err) 
    1766                 Print "DataFolder kill err = ",err 
    1767         endif 
     1764//      err = V_KillNamedDataFolder(fname) 
     1765//      if(err) 
     1766//              Print "DataFolder kill err = ",err 
     1767//      endif 
    17681768        return(err) 
    17691769end 
     
    17861786         
    17871787        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1788         err = V_KillNamedDataFolder(fname) 
    1789         if(err) 
    1790                 Print "DataFolder kill err = ",err 
    1791         endif 
     1788//      err = V_KillNamedDataFolder(fname) 
     1789//      if(err) 
     1790//              Print "DataFolder kill err = ",err 
     1791//      endif 
    17921792                 
    17931793        return(err) 
     
    18121812        endif 
    18131813        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1814         err = V_KillNamedDataFolder(fname) 
    1815         if(err) 
    1816                 Print "DataFolder kill err = ",err 
    1817         endif 
     1814//      err = V_KillNamedDataFolder(fname) 
     1815//      if(err) 
     1816//              Print "DataFolder kill err = ",err 
     1817//      endif 
    18181818        return(err) 
    18191819end 
     
    18371837        endif 
    18381838        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1839         err = V_KillNamedDataFolder(fname) 
    1840         if(err) 
    1841                 Print "DataFolder kill err = ",err 
    1842         endif 
     1839//      err = V_KillNamedDataFolder(fname) 
     1840//      if(err) 
     1841//              Print "DataFolder kill err = ",err 
     1842//      endif 
    18431843        return(err) 
    18441844end 
     
    18621862        endif 
    18631863        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1864         err = V_KillNamedDataFolder(fname) 
    1865         if(err) 
    1866                 Print "DataFolder kill err = ",err 
    1867         endif 
     1864//      err = V_KillNamedDataFolder(fname) 
     1865//      if(err) 
     1866//              Print "DataFolder kill err = ",err 
     1867//      endif 
    18681868        return(err) 
    18691869end 
     
    18871887        endif 
    18881888        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1889         err = V_KillNamedDataFolder(fname) 
    1890         if(err) 
    1891                 Print "DataFolder kill err = ",err 
    1892         endif 
     1889//      err = V_KillNamedDataFolder(fname) 
     1890//      if(err) 
     1891//              Print "DataFolder kill err = ",err 
     1892//      endif 
    18931893        return(err) 
    18941894end 
     
    19121912        endif 
    19131913        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1914         err = V_KillNamedDataFolder(fname) 
    1915         if(err) 
    1916                 Print "DataFolder kill err = ",err 
    1917         endif 
     1914//      err = V_KillNamedDataFolder(fname) 
     1915//      if(err) 
     1916//              Print "DataFolder kill err = ",err 
     1917//      endif 
    19181918        return(err) 
    19191919end 
     
    19381938        endif 
    19391939        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1940         err = V_KillNamedDataFolder(fname) 
    1941         if(err) 
    1942                 Print "DataFolder kill err = ",err 
    1943         endif 
     1940//      err = V_KillNamedDataFolder(fname) 
     1941//      if(err) 
     1942//              Print "DataFolder kill err = ",err 
     1943//      endif 
    19441944        return(err) 
    19451945end 
     
    19631963        endif 
    19641964        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1965         err = V_KillNamedDataFolder(fname) 
    1966         if(err) 
    1967                 Print "DataFolder kill err = ",err 
    1968         endif 
     1965//      err = V_KillNamedDataFolder(fname) 
     1966//      if(err) 
     1967//              Print "DataFolder kill err = ",err 
     1968//      endif 
    19691969        return(err) 
    19701970end 
     
    19871987         
    19881988        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    1989         err = V_KillNamedDataFolder(fname) 
    1990         if(err) 
    1991                 Print "DataFolder kill err = ",err 
    1992         endif 
     1989//      err = V_KillNamedDataFolder(fname) 
     1990//      if(err) 
     1991//              Print "DataFolder kill err = ",err 
     1992//      endif 
    19931993                 
    19941994        return(err) 
     
    20152015        endif 
    20162016        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2017         err = V_KillNamedDataFolder(fname) 
    2018         if(err) 
    2019                 Print "DataFolder kill err = ",err 
    2020         endif 
     2017//      err = V_KillNamedDataFolder(fname) 
     2018//      if(err) 
     2019//              Print "DataFolder kill err = ",err 
     2020//      endif 
    20212021        return(err) 
    20222022end 
     
    20412041        endif 
    20422042        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2043         err = V_KillNamedDataFolder(fname) 
    2044         if(err) 
    2045                 Print "DataFolder kill err = ",err 
    2046         endif 
     2043//      err = V_KillNamedDataFolder(fname) 
     2044//      if(err) 
     2045//              Print "DataFolder kill err = ",err 
     2046//      endif 
    20472047        return(err) 
    20482048end 
     
    20662066        endif 
    20672067        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2068         err = V_KillNamedDataFolder(fname) 
    2069         if(err) 
    2070                 Print "DataFolder kill err = ",err 
    2071         endif 
     2068//      err = V_KillNamedDataFolder(fname) 
     2069//      if(err) 
     2070//              Print "DataFolder kill err = ",err 
     2071//      endif 
    20722072        return(err) 
    20732073end 
     
    20912091        endif 
    20922092        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2093         err = V_KillNamedDataFolder(fname) 
    2094         if(err) 
    2095                 Print "DataFolder kill err = ",err 
    2096         endif 
     2093//      err = V_KillNamedDataFolder(fname) 
     2094//      if(err) 
     2095//              Print "DataFolder kill err = ",err 
     2096//      endif 
    20972097        return(err) 
    20982098end 
     
    21162116        endif 
    21172117        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2118         err = V_KillNamedDataFolder(fname) 
    2119         if(err) 
    2120                 Print "DataFolder kill err = ",err 
    2121         endif 
     2118//      err = V_KillNamedDataFolder(fname) 
     2119//      if(err) 
     2120//              Print "DataFolder kill err = ",err 
     2121//      endif 
    21222122        return(err) 
    21232123end 
     
    21412141         
    21422142        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2143         err = V_KillNamedDataFolder(fname) 
    2144         if(err) 
    2145                 Print "DataFolder kill err = ",err 
    2146         endif 
     2143//      err = V_KillNamedDataFolder(fname) 
     2144//      if(err) 
     2145//              Print "DataFolder kill err = ",err 
     2146//      endif 
    21472147                 
    21482148        return(err) 
     
    21672167        endif 
    21682168        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2169         err = V_KillNamedDataFolder(fname) 
    2170         if(err) 
    2171                 Print "DataFolder kill err = ",err 
    2172         endif 
     2169//      err = V_KillNamedDataFolder(fname) 
     2170//      if(err) 
     2171//              Print "DataFolder kill err = ",err 
     2172//      endif 
    21732173        return(err) 
    21742174end 
     
    21922192        endif 
    21932193        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2194         err = V_KillNamedDataFolder(fname) 
    2195         if(err) 
    2196                 Print "DataFolder kill err = ",err 
    2197         endif 
     2194//      err = V_KillNamedDataFolder(fname) 
     2195//      if(err) 
     2196//              Print "DataFolder kill err = ",err 
     2197//      endif 
    21982198        return(err) 
    21992199end 
     
    22172217         
    22182218        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2219         err = V_KillNamedDataFolder(fname) 
    2220         if(err) 
    2221                 Print "DataFolder kill err = ",err 
    2222         endif 
     2219//      err = V_KillNamedDataFolder(fname) 
     2220//      if(err) 
     2221//              Print "DataFolder kill err = ",err 
     2222//      endif 
    22232223                 
    22242224        return(err) 
     
    22432243        endif 
    22442244        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2245         err = V_KillNamedDataFolder(fname) 
    2246         if(err) 
    2247                 Print "DataFolder kill err = ",err 
    2248         endif 
     2245//      err = V_KillNamedDataFolder(fname) 
     2246//      if(err) 
     2247//              Print "DataFolder kill err = ",err 
     2248//      endif 
    22492249        return(err) 
    22502250end 
     
    22672267         
    22682268        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2269         err = V_KillNamedDataFolder(fname) 
    2270         if(err) 
    2271                 Print "DataFolder kill err = ",err 
    2272         endif 
     2269//      err = V_KillNamedDataFolder(fname) 
     2270//      if(err) 
     2271//              Print "DataFolder kill err = ",err 
     2272//      endif 
    22732273                 
    22742274        return(err) 
     
    22922292         
    22932293        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2294         err = V_KillNamedDataFolder(fname) 
    2295         if(err) 
    2296                 Print "DataFolder kill err = ",err 
    2297         endif 
     2294//      err = V_KillNamedDataFolder(fname) 
     2295//      if(err) 
     2296//              Print "DataFolder kill err = ",err 
     2297//      endif 
    22982298                 
    22992299        return(err) 
     
    23192319        endif 
    23202320        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2321         err = V_KillNamedDataFolder(fname) 
    2322         if(err) 
    2323                 Print "DataFolder kill err = ",err 
    2324         endif 
     2321//      err = V_KillNamedDataFolder(fname) 
     2322//      if(err) 
     2323//              Print "DataFolder kill err = ",err 
     2324//      endif 
    23252325        return(err) 
    23262326End 
     
    23432343         
    23442344        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2345         err = V_KillNamedDataFolder(fname) 
    2346         if(err) 
    2347                 Print "DataFolder kill err = ",err 
    2348         endif 
     2345//      err = V_KillNamedDataFolder(fname) 
     2346//      if(err) 
     2347//              Print "DataFolder kill err = ",err 
     2348//      endif 
    23492349                 
    23502350        return(err) 
     
    23712371        endif 
    23722372        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2373         err = V_KillNamedDataFolder(fname) 
    2374         if(err) 
    2375                 Print "DataFolder kill err = ",err 
    2376         endif 
     2373//      err = V_KillNamedDataFolder(fname) 
     2374//      if(err) 
     2375//              Print "DataFolder kill err = ",err 
     2376//      endif 
    23772377        return(err) 
    23782378End 
     
    23962396        endif 
    23972397        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2398         err = V_KillNamedDataFolder(fname) 
    2399         if(err) 
    2400                 Print "DataFolder kill err = ",err 
    2401         endif 
     2398//      err = V_KillNamedDataFolder(fname) 
     2399//      if(err) 
     2400//              Print "DataFolder kill err = ",err 
     2401//      endif 
    24022402        return(err) 
    24032403End 
     
    24212421        endif 
    24222422        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2423         err = V_KillNamedDataFolder(fname) 
    2424         if(err) 
    2425                 Print "DataFolder kill err = ",err 
    2426         endif 
     2423//      err = V_KillNamedDataFolder(fname) 
     2424//      if(err) 
     2425//              Print "DataFolder kill err = ",err 
     2426//      endif 
    24272427        return(err) 
    24282428End 
     
    24462446        endif 
    24472447        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2448         err = V_KillNamedDataFolder(fname) 
    2449         if(err) 
    2450                 Print "DataFolder kill err = ",err 
    2451         endif 
     2448//      err = V_KillNamedDataFolder(fname) 
     2449//      if(err) 
     2450//              Print "DataFolder kill err = ",err 
     2451//      endif 
    24522452        return(err) 
    24532453End 
     
    24702470         
    24712471        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2472         err = V_KillNamedDataFolder(fname) 
    2473         if(err) 
    2474                 Print "DataFolder kill err = ",err 
    2475         endif 
     2472//      err = V_KillNamedDataFolder(fname) 
     2473//      if(err) 
     2474//              Print "DataFolder kill err = ",err 
     2475//      endif 
    24762476                 
    24772477        return(err) 
     
    25002500        endif 
    25012501        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2502         err = V_KillNamedDataFolder(fname) 
    2503         if(err) 
    2504                 Print "DataFolder kill err = ",err 
    2505         endif 
     2502//      err = V_KillNamedDataFolder(fname) 
     2503//      if(err) 
     2504//              Print "DataFolder kill err = ",err 
     2505//      endif 
    25062506        return(err) 
    25072507End 
     
    25252525        endif 
    25262526        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2527         err = V_KillNamedDataFolder(fname) 
    2528         if(err) 
    2529                 Print "DataFolder kill err = ",err 
    2530         endif 
     2527//      err = V_KillNamedDataFolder(fname) 
     2528//      if(err) 
     2529//              Print "DataFolder kill err = ",err 
     2530//      endif 
    25312531        return(err) 
    25322532End 
     
    25502550        endif 
    25512551        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2552         err = V_KillNamedDataFolder(fname) 
    2553         if(err) 
    2554                 Print "DataFolder kill err = ",err 
    2555         endif 
     2552//      err = V_KillNamedDataFolder(fname) 
     2553//      if(err) 
     2554//              Print "DataFolder kill err = ",err 
     2555//      endif 
    25562556        return(err) 
    25572557End 
     
    25752575        endif 
    25762576        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2577         err = V_KillNamedDataFolder(fname) 
    2578         if(err) 
    2579                 Print "DataFolder kill err = ",err 
    2580         endif 
     2577//      err = V_KillNamedDataFolder(fname) 
     2578//      if(err) 
     2579//              Print "DataFolder kill err = ",err 
     2580//      endif 
    25812581        return(err) 
    25822582End 
     
    25992599         
    26002600        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2601         err = V_KillNamedDataFolder(fname) 
    2602         if(err) 
    2603                 Print "DataFolder kill err = ",err 
    2604         endif 
     2601//      err = V_KillNamedDataFolder(fname) 
     2602//      if(err) 
     2603//              Print "DataFolder kill err = ",err 
     2604//      endif 
    26052605                 
    26062606        return(err) 
     
    26262626        endif 
    26272627        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2628         err = V_KillNamedDataFolder(fname) 
    2629         if(err) 
    2630                 Print "DataFolder kill err = ",err 
    2631         endif 
     2628//      err = V_KillNamedDataFolder(fname) 
     2629//      if(err) 
     2630//              Print "DataFolder kill err = ",err 
     2631//      endif 
    26322632        return(err) 
    26332633End 
     
    26512651        endif 
    26522652        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2653         err = V_KillNamedDataFolder(fname) 
    2654         if(err) 
    2655                 Print "DataFolder kill err = ",err 
    2656         endif 
     2653//      err = V_KillNamedDataFolder(fname) 
     2654//      if(err) 
     2655//              Print "DataFolder kill err = ",err 
     2656//      endif 
    26572657        return(err) 
    26582658End 
     
    26762676        endif 
    26772677        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2678         err = V_KillNamedDataFolder(fname) 
    2679         if(err) 
    2680                 Print "DataFolder kill err = ",err 
    2681         endif 
     2678//      err = V_KillNamedDataFolder(fname) 
     2679//      if(err) 
     2680//              Print "DataFolder kill err = ",err 
     2681//      endif 
    26822682        return(err) 
    26832683End 
     
    27012701        endif 
    27022702        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2703         err = V_KillNamedDataFolder(fname) 
    2704         if(err) 
    2705                 Print "DataFolder kill err = ",err 
    2706         endif 
     2703//      err = V_KillNamedDataFolder(fname) 
     2704//      if(err) 
     2705//              Print "DataFolder kill err = ",err 
     2706//      endif 
    27072707        return(err) 
    27082708End 
     
    27252725         
    27262726        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2727         err = V_KillNamedDataFolder(fname) 
    2728         if(err) 
    2729                 Print "DataFolder kill err = ",err 
    2730         endif 
     2727//      err = V_KillNamedDataFolder(fname) 
     2728//      if(err) 
     2729//              Print "DataFolder kill err = ",err 
     2730//      endif 
    27312731                 
    27322732        return(err) 
     
    27512751         
    27522752        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2753         err = V_KillNamedDataFolder(fname) 
    2754         if(err) 
    2755                 Print "DataFolder kill err = ",err 
    2756         endif 
     2753//      err = V_KillNamedDataFolder(fname) 
     2754//      if(err) 
     2755//              Print "DataFolder kill err = ",err 
     2756//      endif 
    27572757                 
    27582758        return(err) 
     
    27772777        endif 
    27782778        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2779         err = V_KillNamedDataFolder(fname) 
    2780         if(err) 
    2781                 Print "DataFolder kill err = ",err 
    2782         endif 
     2779//      err = V_KillNamedDataFolder(fname) 
     2780//      if(err) 
     2781//              Print "DataFolder kill err = ",err 
     2782//      endif 
    27832783        return(err) 
    27842784End 
     
    28022802        endif 
    28032803        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2804         err = V_KillNamedDataFolder(fname) 
    2805         if(err) 
    2806                 Print "DataFolder kill err = ",err 
    2807         endif 
     2804//      err = V_KillNamedDataFolder(fname) 
     2805//      if(err) 
     2806//              Print "DataFolder kill err = ",err 
     2807//      endif 
    28082808        return(err) 
    28092809End 
     
    28272827        endif 
    28282828        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2829         err = V_KillNamedDataFolder(fname) 
    2830         if(err) 
    2831                 Print "DataFolder kill err = ",err 
    2832         endif 
     2829//      err = V_KillNamedDataFolder(fname) 
     2830//      if(err) 
     2831//              Print "DataFolder kill err = ",err 
     2832//      endif 
    28332833        return(err) 
    28342834End 
     
    28542854        endif 
    28552855        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2856         err = V_KillNamedDataFolder(fname) 
    2857         if(err) 
    2858                 Print "DataFolder kill err = ",err 
    2859         endif 
     2856//      err = V_KillNamedDataFolder(fname) 
     2857//      if(err) 
     2858//              Print "DataFolder kill err = ",err 
     2859//      endif 
    28602860        return(err) 
    28612861End 
     
    28802880         
    28812881        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2882         err = V_KillNamedDataFolder(fname) 
    2883         if(err) 
    2884                 Print "DataFolder kill err = ",err 
    2885         endif 
     2882//      err = V_KillNamedDataFolder(fname) 
     2883//      if(err) 
     2884//              Print "DataFolder kill err = ",err 
     2885//      endif 
    28862886                 
    28872887        return(err) 
     
    29072907        endif 
    29082908        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2909         err = V_KillNamedDataFolder(fname) 
    2910         if(err) 
    2911                 Print "DataFolder kill err = ",err 
    2912         endif 
     2909//      err = V_KillNamedDataFolder(fname) 
     2910//      if(err) 
     2911//              Print "DataFolder kill err = ",err 
     2912//      endif 
    29132913        return(err) 
    29142914End 
     
    29322932         
    29332933        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2934         err = V_KillNamedDataFolder(fname) 
    2935         if(err) 
    2936                 Print "DataFolder kill err = ",err 
    2937         endif 
     2934//      err = V_KillNamedDataFolder(fname) 
     2935//      if(err) 
     2936//              Print "DataFolder kill err = ",err 
     2937//      endif 
    29382938                 
    29392939        return(err) 
     
    29702970                endif 
    29712971                // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    2972                 err = V_KillNamedDataFolder(fname) 
    2973                 if(err) 
    2974                         Print "DataFolder kill err = ",err 
    2975                 endif 
     2972//              err = V_KillNamedDataFolder(fname) 
     2973//              if(err) 
     2974//                      Print "DataFolder kill err = ",err 
     2975//              endif 
    29762976                return(err) 
    29772977        else 
     
    30033003                endif 
    30043004                // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3005                 err = V_KillNamedDataFolder(fname) 
    3006                 if(err) 
    3007                         Print "DataFolder kill err = ",err 
    3008                 endif 
     3005//              err = V_KillNamedDataFolder(fname) 
     3006//              if(err) 
     3007//                      Print "DataFolder kill err = ",err 
     3008//              endif 
    30093009                return(err) 
    30103010        else 
     
    30343034        endif 
    30353035        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3036         err = V_KillNamedDataFolder(fname) 
    3037         if(err) 
    3038                 Print "DataFolder kill err = ",err 
    3039         endif 
     3036//      err = V_KillNamedDataFolder(fname) 
     3037//      if(err) 
     3038//              Print "DataFolder kill err = ",err 
     3039//      endif 
    30403040        return(err) 
    30413041End 
     
    30633063        endif 
    30643064        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3065         err = V_KillNamedDataFolder(fname) 
    3066         if(err) 
    3067                 Print "DataFolder kill err = ",err 
    3068         endif 
     3065//      err = V_KillNamedDataFolder(fname) 
     3066//      if(err) 
     3067//              Print "DataFolder kill err = ",err 
     3068//      endif 
    30693069        return(err) 
    30703070End 
     
    30893089        endif 
    30903090        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3091         err = V_KillNamedDataFolder(fname) 
    3092         if(err) 
    3093                 Print "DataFolder kill err = ",err 
    3094         endif 
     3091//      err = V_KillNamedDataFolder(fname) 
     3092//      if(err) 
     3093//              Print "DataFolder kill err = ",err 
     3094//      endif 
    30953095        return(err) 
    30963096End 
     
    31143114        endif 
    31153115        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3116         err = V_KillNamedDataFolder(fname) 
    3117         if(err) 
    3118                 Print "DataFolder kill err = ",err 
    3119         endif 
     3116//      err = V_KillNamedDataFolder(fname) 
     3117//      if(err) 
     3118//              Print "DataFolder kill err = ",err 
     3119//      endif 
    31203120        return(err) 
    31213121End 
     
    31413141                endif 
    31423142                // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3143                 err = V_KillNamedDataFolder(fname) 
    3144                 if(err) 
    3145                         Print "DataFolder kill err = ",err 
    3146                 endif 
     3143//              err = V_KillNamedDataFolder(fname) 
     3144//              if(err) 
     3145//                      Print "DataFolder kill err = ",err 
     3146//              endif 
    31473147                return(err) 
    31483148        else 
     
    31693169        endif 
    31703170        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3171         err = V_KillNamedDataFolder(fname) 
    3172         if(err) 
    3173                 Print "DataFolder kill err = ",err 
    3174         endif 
    3175         return(err) 
     3171//      err = V_KillNamedDataFolder(fname) 
     3172//      if(err) 
     3173//              Print "DataFolder kill err = ",err 
     3174//      endif 
     3175        return(err) 
     3176End 
     3177 
     3178// fname is a local WORK folder 
     3179Function V_putDet_beam_center_x(fname,detStr,val) 
     3180        String fname,detStr 
     3181        Variable val 
     3182 
     3183//root:Packages:NIST:VSANS:RAW:entry:entry:instrument:detector_FB:beam_center_x 
     3184        String path = "root:Packages:NIST:VSANS:"+fname+":entry:" 
     3185        path += "entry:instrument:detector_"+detStr+":beam_center_x" 
     3186         
     3187        Wave/Z w = $path 
     3188        if(waveExists(w) == 0) 
     3189                return(1) 
     3190        else 
     3191        w[0] = val 
     3192                return(0) 
     3193        endif 
     3194 
    31763195End 
    31773196 
     
    31943213        endif 
    31953214        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3196         err = V_KillNamedDataFolder(fname) 
    3197         if(err) 
    3198                 Print "DataFolder kill err = ",err 
    3199         endif 
    3200         return(err) 
    3201 End 
     3215//      err = V_KillNamedDataFolder(fname) 
     3216//      if(err) 
     3217//              Print "DataFolder kill err = ",err 
     3218//      endif 
     3219        return(err) 
     3220End 
     3221 
     3222 
     3223// fname is a local WORK folder 
     3224Function V_putDet_beam_center_y(fname,detStr,val) 
     3225        String fname,detStr 
     3226        Variable val 
     3227 
     3228//root:Packages:NIST:VSANS:RAW:entry:entry:instrument:detector_FB:beam_center_y 
     3229        String path = "root:Packages:NIST:VSANS:"+fname+":entry:" 
     3230        path += "entry:instrument:detector_"+detStr+":beam_center_y" 
     3231         
     3232        Wave/Z w = $path 
     3233        if(waveExists(w) == 0) 
     3234                return(1) 
     3235        else 
     3236        w[0] = val 
     3237                return(0) 
     3238        endif 
     3239 
     3240End 
     3241 
    32023242 
    32033243// TODO -- write this function to return a WAVE with the data 
     
    32233263        endif 
    32243264        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3225         err = V_KillNamedDataFolder(fname) 
    3226         if(err) 
    3227                 Print "DataFolder kill err = ",err 
    3228         endif 
     3265//      err = V_KillNamedDataFolder(fname) 
     3266//      if(err) 
     3267//              Print "DataFolder kill err = ",err 
     3268//      endif 
    32293269        return(err) 
    32303270End 
     
    32553295        endif 
    32563296        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3257         err = V_KillNamedDataFolder(fname) 
    3258         if(err) 
    3259                 Print "DataFolder kill err = ",err 
    3260         endif 
     3297//      err = V_KillNamedDataFolder(fname) 
     3298//      if(err) 
     3299//              Print "DataFolder kill err = ",err 
     3300//      endif 
    32613301        return(err) 
    32623302End 
     
    32803320         
    32813321        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3282         err = V_KillNamedDataFolder(fname) 
    3283         if(err) 
    3284                 Print "DataFolder kill err = ",err 
    3285         endif 
     3322//      err = V_KillNamedDataFolder(fname) 
     3323//      if(err) 
     3324//              Print "DataFolder kill err = ",err 
     3325//      endif 
    32863326                 
    32873327        return(err) 
     
    33063346        endif 
    33073347        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3308         err = V_KillNamedDataFolder(fname) 
    3309         if(err) 
    3310                 Print "DataFolder kill err = ",err 
    3311         endif 
     3348//      err = V_KillNamedDataFolder(fname) 
     3349//      if(err) 
     3350//              Print "DataFolder kill err = ",err 
     3351//      endif 
    33123352        return(err) 
    33133353End 
     
    33333373                endif 
    33343374                // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3335                 err = V_KillNamedDataFolder(fname) 
    3336                 if(err) 
    3337                         Print "DataFolder kill err = ",err 
    3338                 endif 
     3375//              err = V_KillNamedDataFolder(fname) 
     3376//              if(err) 
     3377//                      Print "DataFolder kill err = ",err 
     3378//              endif 
    33393379                return(err) 
    33403380        else 
     
    33603400         
    33613401        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3362         err = V_KillNamedDataFolder(fname) 
    3363         if(err) 
    3364                 Print "DataFolder kill err = ",err 
    3365         endif 
     3402//      err = V_KillNamedDataFolder(fname) 
     3403//      if(err) 
     3404//              Print "DataFolder kill err = ",err 
     3405//      endif 
    33663406                 
    33673407        return(err) 
     
    33863426        endif 
    33873427        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3388         err = V_KillNamedDataFolder(fname) 
    3389         if(err) 
    3390                 Print "DataFolder kill err = ",err 
    3391         endif 
     3428//      err = V_KillNamedDataFolder(fname) 
     3429//      if(err) 
     3430//              Print "DataFolder kill err = ",err 
     3431//      endif 
    33923432        return(err) 
    33933433End 
     
    34113451        endif 
    34123452        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3413         err = V_KillNamedDataFolder(fname) 
    3414         if(err) 
    3415                 Print "DataFolder kill err = ",err 
    3416         endif 
     3453//      err = V_KillNamedDataFolder(fname) 
     3454//      if(err) 
     3455//              Print "DataFolder kill err = ",err 
     3456//      endif 
    34173457        return(err) 
    34183458End 
     
    34363476        endif 
    34373477        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3438         err = V_KillNamedDataFolder(fname) 
    3439         if(err) 
    3440                 Print "DataFolder kill err = ",err 
    3441         endif 
     3478//      err = V_KillNamedDataFolder(fname) 
     3479//      if(err) 
     3480//              Print "DataFolder kill err = ",err 
     3481//      endif 
    34423482        return(err) 
    34433483End 
     
    34633503                endif 
    34643504                // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3465                 err = V_KillNamedDataFolder(fname) 
    3466                 if(err) 
    3467                         Print "DataFolder kill err = ",err 
    3468                 endif 
     3505//              err = V_KillNamedDataFolder(fname) 
     3506//              if(err) 
     3507//                      Print "DataFolder kill err = ",err 
     3508//              endif 
    34693509                return(err) 
    34703510        else 
     
    34933533                endif 
    34943534                // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3495                 err = V_KillNamedDataFolder(fname) 
    3496                 if(err) 
    3497                         Print "DataFolder kill err = ",err 
    3498                 endif 
     3535//              err = V_KillNamedDataFolder(fname) 
     3536//              if(err) 
     3537//                      Print "DataFolder kill err = ",err 
     3538//              endif 
    34993539                return(err) 
    35003540        else 
     
    35203560         
    35213561        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3522         err = V_KillNamedDataFolder(fname) 
    3523         if(err) 
    3524                 Print "DataFolder kill err = ",err 
    3525         endif 
     3562//      err = V_KillNamedDataFolder(fname) 
     3563//      if(err) 
     3564//              Print "DataFolder kill err = ",err 
     3565//      endif 
    35263566                 
    35273567        return(err) 
     
    35473587        endif 
    35483588        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3549         err = V_KillNamedDataFolder(fname) 
    3550         if(err) 
    3551                 Print "DataFolder kill err = ",err 
    3552         endif 
     3589//      err = V_KillNamedDataFolder(fname) 
     3590//      if(err) 
     3591//              Print "DataFolder kill err = ",err 
     3592//      endif 
    35533593        return(err) 
    35543594End 
     
    35713611         
    35723612        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3573         err = V_KillNamedDataFolder(fname) 
    3574         if(err) 
    3575                 Print "DataFolder kill err = ",err 
    3576         endif 
     3613//      err = V_KillNamedDataFolder(fname) 
     3614//      if(err) 
     3615//              Print "DataFolder kill err = ",err 
     3616//      endif 
    35773617                 
    35783618        return(err) 
     
    35973637        endif 
    35983638        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3599         err = V_KillNamedDataFolder(fname) 
    3600         if(err) 
    3601                 Print "DataFolder kill err = ",err 
    3602         endif 
     3639//      err = V_KillNamedDataFolder(fname) 
     3640//      if(err) 
     3641//              Print "DataFolder kill err = ",err 
     3642//      endif 
    36033643        return(err) 
    36043644End 
     
    36223662        endif 
    36233663        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3624         err = V_KillNamedDataFolder(fname) 
    3625         if(err) 
    3626                 Print "DataFolder kill err = ",err 
    3627         endif 
     3664//      err = V_KillNamedDataFolder(fname) 
     3665//      if(err) 
     3666//              Print "DataFolder kill err = ",err 
     3667//      endif 
    36283668        return(err) 
    36293669End 
     
    36523692                endif 
    36533693                // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3654                 err = V_KillNamedDataFolder(fname) 
    3655                 if(err) 
    3656                         Print "DataFolder kill err = ",err 
    3657                 endif 
     3694//              err = V_KillNamedDataFolder(fname) 
     3695//              if(err) 
     3696//                      Print "DataFolder kill err = ",err 
     3697//              endif 
    36583698                return(err) 
    36593699        endif 
     
    36823722                endif 
    36833723                // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3684                 err = V_KillNamedDataFolder(fname) 
    3685                 if(err) 
    3686                         Print "DataFolder kill err = ",err 
    3687                 endif 
     3724//              err = V_KillNamedDataFolder(fname) 
     3725//              if(err) 
     3726//                      Print "DataFolder kill err = ",err 
     3727//              endif 
    36883728                return(err) 
    36893729        endif 
     
    37153755                endif 
    37163756                // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3717                 err = V_KillNamedDataFolder(fname) 
    3718                 if(err) 
    3719                         Print "DataFolder kill err = ",err 
    3720                 endif 
     3757//              err = V_KillNamedDataFolder(fname) 
     3758//              if(err) 
     3759//                      Print "DataFolder kill err = ",err 
     3760//              endif 
    37213761                return(err) 
    37223762        endif 
     
    37453785                endif 
    37463786                // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3747                 err = V_KillNamedDataFolder(fname) 
    3748                 if(err) 
    3749                         Print "DataFolder kill err = ",err 
    3750                 endif 
     3787//              err = V_KillNamedDataFolder(fname) 
     3788//              if(err) 
     3789//                      Print "DataFolder kill err = ",err 
     3790//              endif 
    37513791                return(err) 
    37523792        endif 
     
    37733813         
    37743814                // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3775                 err = V_KillNamedDataFolder(fname) 
    3776                 if(err) 
    3777                         Print "DataFolder kill err = ",err 
    3778                 endif 
     3815//              err = V_KillNamedDataFolder(fname) 
     3816//              if(err) 
     3817//                      Print "DataFolder kill err = ",err 
     3818//              endif 
    37793819                 
    37803820                return(err) 
     
    38053845                endif 
    38063846                // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3807                 err = V_KillNamedDataFolder(fname) 
    3808                 if(err) 
    3809                         Print "DataFolder kill err = ",err 
    3810                 endif 
     3847//              err = V_KillNamedDataFolder(fname) 
     3848//              if(err) 
     3849//                      Print "DataFolder kill err = ",err 
     3850//              endif 
    38113851                return(err) 
    38123852        endif 
     
    38363876        endif 
    38373877        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3838         err = V_KillNamedDataFolder(fname) 
    3839         if(err) 
    3840                 Print "DataFolder kill err = ",err 
    3841         endif 
     3878//      err = V_KillNamedDataFolder(fname) 
     3879//      if(err) 
     3880//              Print "DataFolder kill err = ",err 
     3881//      endif 
    38423882        return(err) 
    38433883End 
     
    38603900         
    38613901        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3862         err = V_KillNamedDataFolder(fname) 
    3863         if(err) 
    3864                 Print "DataFolder kill err = ",err 
    3865         endif 
     3902//      err = V_KillNamedDataFolder(fname) 
     3903//      if(err) 
     3904//              Print "DataFolder kill err = ",err 
     3905//      endif 
    38663906                 
    38673907        return(err) 
     
    38863926        endif 
    38873927        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3888         err = V_KillNamedDataFolder(fname) 
    3889         if(err) 
    3890                 Print "DataFolder kill err = ",err 
    3891         endif 
     3928//      err = V_KillNamedDataFolder(fname) 
     3929//      if(err) 
     3930//              Print "DataFolder kill err = ",err 
     3931//      endif 
    38923932        return(err) 
    38933933End 
     
    39103950         
    39113951        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3912         err = V_KillNamedDataFolder(fname) 
    3913         if(err) 
    3914                 Print "DataFolder kill err = ",err 
    3915         endif 
     3952//      err = V_KillNamedDataFolder(fname) 
     3953//      if(err) 
     3954//              Print "DataFolder kill err = ",err 
     3955//      endif 
    39163956                 
    39173957        return(err) 
     
    39353975         
    39363976        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3937         err = V_KillNamedDataFolder(fname) 
    3938         if(err) 
    3939                 Print "DataFolder kill err = ",err 
    3940         endif 
     3977//      err = V_KillNamedDataFolder(fname) 
     3978//      if(err) 
     3979//              Print "DataFolder kill err = ",err 
     3980//      endif 
    39413981                 
    39423982        return(err) 
     
    39614001        endif 
    39624002        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3963         err = V_KillNamedDataFolder(fname) 
    3964         if(err) 
    3965                 Print "DataFolder kill err = ",err 
    3966         endif 
     4003//      err = V_KillNamedDataFolder(fname) 
     4004//      if(err) 
     4005//              Print "DataFolder kill err = ",err 
     4006//      endif 
    39674007        return(err) 
    39684008End 
     
    39864026        endif 
    39874027        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    3988         err = V_KillNamedDataFolder(fname) 
    3989         if(err) 
    3990                 Print "DataFolder kill err = ",err 
    3991         endif 
     4028//      err = V_KillNamedDataFolder(fname) 
     4029//      if(err) 
     4030//              Print "DataFolder kill err = ",err 
     4031//      endif 
    39924032        return(err) 
    39934033End 
     
    40114051        endif 
    40124052        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4013         err = V_KillNamedDataFolder(fname) 
    4014         if(err) 
    4015                 Print "DataFolder kill err = ",err 
    4016         endif 
     4053//      err = V_KillNamedDataFolder(fname) 
     4054//      if(err) 
     4055//              Print "DataFolder kill err = ",err 
     4056//      endif 
    40174057        return(err) 
    40184058End 
     
    40354075         
    40364076        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4037         err = V_KillNamedDataFolder(fname) 
    4038         if(err) 
    4039                 Print "DataFolder kill err = ",err 
    4040         endif 
     4077//      err = V_KillNamedDataFolder(fname) 
     4078//      if(err) 
     4079//              Print "DataFolder kill err = ",err 
     4080//      endif 
    40414081                 
    40424082        return(err) 
     
    40614101         
    40624102        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4063         err = V_KillNamedDataFolder(fname) 
    4064         if(err) 
    4065                 Print "DataFolder kill err = ",err 
    4066         endif 
     4103//      err = V_KillNamedDataFolder(fname) 
     4104//      if(err) 
     4105//              Print "DataFolder kill err = ",err 
     4106//      endif 
    40674107                 
    40684108        return(err) 
     
    40894129         
    40904130        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4091         err = V_KillNamedDataFolder(fname) 
    4092         if(err) 
    4093                 Print "DataFolder kill err = ",err 
    4094         endif 
     4131//      err = V_KillNamedDataFolder(fname) 
     4132//      if(err) 
     4133//              Print "DataFolder kill err = ",err 
     4134//      endif 
    40954135                 
    40964136        return(err) 
     
    41154155        endif 
    41164156        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4117         err = V_KillNamedDataFolder(fname) 
    4118         if(err) 
    4119                 Print "DataFolder kill err = ",err 
    4120         endif 
     4157//      err = V_KillNamedDataFolder(fname) 
     4158//      if(err) 
     4159//              Print "DataFolder kill err = ",err 
     4160//      endif 
    41214161        return(err) 
    41224162End 
     
    41404180         
    41414181        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4142         err = V_KillNamedDataFolder(fname) 
    4143         if(err) 
    4144                 Print "DataFolder kill err = ",err 
    4145         endif 
     4182//      err = V_KillNamedDataFolder(fname) 
     4183//      if(err) 
     4184//              Print "DataFolder kill err = ",err 
     4185//      endif 
    41464186                 
    41474187        return(err) 
     
    41714211        endif 
    41724212        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4173         err = V_KillNamedDataFolder(fname) 
    4174         if(err) 
    4175                 Print "DataFolder kill err = ",err 
    4176         endif 
     4213//      err = V_KillNamedDataFolder(fname) 
     4214//      if(err) 
     4215//              Print "DataFolder kill err = ",err 
     4216//      endif 
    41774217        return(err) 
    41784218End      
     
    41984238         
    41994239        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4200         err = V_KillNamedDataFolder(fname) 
    4201         if(err) 
    4202                 Print "DataFolder kill err = ",err 
    4203         endif 
     4240//      err = V_KillNamedDataFolder(fname) 
     4241//      if(err) 
     4242//              Print "DataFolder kill err = ",err 
     4243//      endif 
    42044244                 
    42054245        return(err) 
     
    42244264        endif 
    42254265        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4226         err = V_KillNamedDataFolder(fname) 
    4227         if(err) 
    4228                 Print "DataFolder kill err = ",err 
    4229         endif 
     4266//      err = V_KillNamedDataFolder(fname) 
     4267//      if(err) 
     4268//              Print "DataFolder kill err = ",err 
     4269//      endif 
    42304270        return(err) 
    42314271End 
     
    42494289         
    42504290        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4251         err = V_KillNamedDataFolder(fname) 
    4252         if(err) 
    4253                 Print "DataFolder kill err = ",err 
    4254         endif 
     4291//      err = V_KillNamedDataFolder(fname) 
     4292//      if(err) 
     4293//              Print "DataFolder kill err = ",err 
     4294//      endif 
    42554295                 
    42564296        return(err) 
     
    42804320        endif 
    42814321        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4282         err = V_KillNamedDataFolder(fname) 
    4283         if(err) 
    4284                 Print "DataFolder kill err = ",err 
    4285         endif 
     4322//      err = V_KillNamedDataFolder(fname) 
     4323//      if(err) 
     4324//              Print "DataFolder kill err = ",err 
     4325//      endif 
    42864326        return(err) 
    42874327End      
     
    43074347         
    43084348        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4309         err = V_KillNamedDataFolder(fname) 
    4310         if(err) 
    4311                 Print "DataFolder kill err = ",err 
    4312         endif 
     4349//      err = V_KillNamedDataFolder(fname) 
     4350//      if(err) 
     4351//              Print "DataFolder kill err = ",err 
     4352//      endif 
    43134353                 
    43144354        return(err) 
     
    43354375        endif 
    43364376        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4337         err = V_KillNamedDataFolder(fname) 
    4338         if(err) 
    4339                 Print "DataFolder kill err = ",err 
    4340         endif 
     4377//      err = V_KillNamedDataFolder(fname) 
     4378//      if(err) 
     4379//              Print "DataFolder kill err = ",err 
     4380//      endif 
    43414381        return(err) 
    43424382End      
     
    43614401         
    43624402        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4363         err = V_KillNamedDataFolder(fname) 
    4364         if(err) 
    4365                 Print "DataFolder kill err = ",err 
    4366         endif 
     4403//      err = V_KillNamedDataFolder(fname) 
     4404//      if(err) 
     4405//              Print "DataFolder kill err = ",err 
     4406//      endif 
    43674407                 
    43684408        return(err) 
     
    43884428        endif 
    43894429        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4390         err = V_KillNamedDataFolder(fname) 
    4391         if(err) 
    4392                 Print "DataFolder kill err = ",err 
    4393         endif 
     4430//      err = V_KillNamedDataFolder(fname) 
     4431//      if(err) 
     4432//              Print "DataFolder kill err = ",err 
     4433//      endif 
    43944434        return(err) 
    43954435End      
     
    44134453         
    44144454        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4415         err = V_KillNamedDataFolder(fname) 
    4416         if(err) 
    4417                 Print "DataFolder kill err = ",err 
    4418         endif 
     4455//      err = V_KillNamedDataFolder(fname) 
     4456//      if(err) 
     4457//              Print "DataFolder kill err = ",err 
     4458//      endif 
    44194459                 
    44204460        return(err) 
     
    44394479         
    44404480        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4441         err = V_KillNamedDataFolder(fname) 
    4442         if(err) 
    4443                 Print "DataFolder kill err = ",err 
    4444         endif 
     4481//      err = V_KillNamedDataFolder(fname) 
     4482//      if(err) 
     4483//              Print "DataFolder kill err = ",err 
     4484//      endif 
    44454485                 
    44464486        return(err) 
     
    44674507         
    44684508        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4469         err = V_KillNamedDataFolder(fname) 
    4470         if(err) 
    4471                 Print "DataFolder kill err = ",err 
    4472         endif 
     4509//      err = V_KillNamedDataFolder(fname) 
     4510//      if(err) 
     4511//              Print "DataFolder kill err = ",err 
     4512//      endif 
    44734513                 
    44744514        return(err) 
     
    44934533        endif 
    44944534        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4495         err = V_KillNamedDataFolder(fname) 
    4496         if(err) 
    4497                 Print "DataFolder kill err = ",err 
    4498         endif 
     4535//      err = V_KillNamedDataFolder(fname) 
     4536//      if(err) 
     4537//              Print "DataFolder kill err = ",err 
     4538//      endif 
    44994539        return(err) 
    45004540End 
     
    45184558         
    45194559        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4520         err = V_KillNamedDataFolder(fname) 
    4521         if(err) 
    4522                 Print "DataFolder kill err = ",err 
    4523         endif 
     4560//      err = V_KillNamedDataFolder(fname) 
     4561//      if(err) 
     4562//              Print "DataFolder kill err = ",err 
     4563//      endif 
    45244564                 
    45254565        return(err) 
     
    45494589        endif 
    45504590        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4551         err = V_KillNamedDataFolder(fname) 
    4552         if(err) 
    4553                 Print "DataFolder kill err = ",err 
    4554         endif 
     4591//      err = V_KillNamedDataFolder(fname) 
     4592//      if(err) 
     4593//              Print "DataFolder kill err = ",err 
     4594//      endif 
    45554595        return(err) 
    45564596End              
     
    45834623        endif 
    45844624        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4585         err = V_KillNamedDataFolder(fname) 
    4586         if(err) 
    4587                 Print "DataFolder kill err = ",err 
    4588         endif 
     4625//      err = V_KillNamedDataFolder(fname) 
     4626//      if(err) 
     4627//              Print "DataFolder kill err = ",err 
     4628//      endif 
    45894629        return(err) 
    45904630end 
     
    46094649         
    46104650        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4611         err = V_KillNamedDataFolder(fname) 
    4612         if(err) 
    4613                 Print "DataFolder kill err = ",err 
    4614         endif 
     4651//      err = V_KillNamedDataFolder(fname) 
     4652//      if(err) 
     4653//              Print "DataFolder kill err = ",err 
     4654//      endif 
    46154655                 
    46164656        return(err) 
     
    46364676        endif 
    46374677        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4638         err = V_KillNamedDataFolder(fname) 
    4639         if(err) 
    4640                 Print "DataFolder kill err = ",err 
    4641         endif 
     4678//      err = V_KillNamedDataFolder(fname) 
     4679//      if(err) 
     4680//              Print "DataFolder kill err = ",err 
     4681//      endif 
    46424682        return(err) 
    46434683end 
     
    46634703        endif 
    46644704        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4665         err = V_KillNamedDataFolder(fname) 
    4666         if(err) 
    4667                 Print "DataFolder kill err = ",err 
    4668         endif 
     4705//      err = V_KillNamedDataFolder(fname) 
     4706//      if(err) 
     4707//              Print "DataFolder kill err = ",err 
     4708//      endif 
    46694709        return(err) 
    46704710end 
     
    46904730        endif 
    46914731        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4692         err = V_KillNamedDataFolder(fname) 
    4693         if(err) 
    4694                 Print "DataFolder kill err = ",err 
    4695         endif 
     4732//      err = V_KillNamedDataFolder(fname) 
     4733//      if(err) 
     4734//              Print "DataFolder kill err = ",err 
     4735//      endif 
    46964736        return(err) 
    46974737end 
     
    47164756         
    47174757        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4718         err = V_KillNamedDataFolder(fname) 
    4719         if(err) 
    4720                 Print "DataFolder kill err = ",err 
    4721         endif 
     4758//      err = V_KillNamedDataFolder(fname) 
     4759//      if(err) 
     4760//              Print "DataFolder kill err = ",err 
     4761//      endif 
    47224762                 
    47234763        return(err) 
     
    47444784        endif 
    47454785        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4746         err = V_KillNamedDataFolder(fname) 
    4747         if(err) 
    4748                 Print "DataFolder kill err = ",err 
    4749         endif 
     4786//      err = V_KillNamedDataFolder(fname) 
     4787//      if(err) 
     4788//              Print "DataFolder kill err = ",err 
     4789//      endif 
    47504790        return(err) 
    47514791end 
     
    47714811        endif 
    47724812        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4773         err = V_KillNamedDataFolder(fname) 
    4774         if(err) 
    4775                 Print "DataFolder kill err = ",err 
    4776         endif 
     4813//      err = V_KillNamedDataFolder(fname) 
     4814//      if(err) 
     4815//              Print "DataFolder kill err = ",err 
     4816//      endif 
    47774817        return(err) 
    47784818end 
     
    47974837        endif 
    47984838        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4799         err = V_KillNamedDataFolder(fname) 
    4800         if(err) 
    4801                 Print "DataFolder kill err = ",err 
    4802         endif 
     4839//      err = V_KillNamedDataFolder(fname) 
     4840//      if(err) 
     4841//              Print "DataFolder kill err = ",err 
     4842//      endif 
    48034843        return(err) 
    48044844end 
     
    48354875         
    48364876        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4837         err = V_KillNamedDataFolder(fname) 
    4838         if(err) 
    4839                 Print "DataFolder kill err = ",err 
    4840         endif 
     4877//      err = V_KillNamedDataFolder(fname) 
     4878//      if(err) 
     4879//              Print "DataFolder kill err = ",err 
     4880//      endif 
    48414881                 
    48424882        return(err) 
     
    48614901         
    48624902        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4863         err = V_KillNamedDataFolder(fname) 
    4864         if(err) 
    4865                 Print "DataFolder kill err = ",err 
    4866         endif 
     4903//      err = V_KillNamedDataFolder(fname) 
     4904//      if(err) 
     4905//              Print "DataFolder kill err = ",err 
     4906//      endif 
    48674907                 
    48684908        return(err) 
     
    48874927         
    48884928        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4889         err = V_KillNamedDataFolder(fname) 
    4890         if(err) 
    4891                 Print "DataFolder kill err = ",err 
    4892         endif 
     4929//      err = V_KillNamedDataFolder(fname) 
     4930//      if(err) 
     4931//              Print "DataFolder kill err = ",err 
     4932//      endif 
    48934933                 
    48944934        return(err) 
     
    49154955        endif 
    49164956        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4917         err = V_KillNamedDataFolder(fname) 
    4918         if(err) 
    4919                 Print "DataFolder kill err = ",err 
    4920         endif 
     4957//      err = V_KillNamedDataFolder(fname) 
     4958//      if(err) 
     4959//              Print "DataFolder kill err = ",err 
     4960//      endif 
    49214961        return(err) 
    49224962end 
     
    49404980         
    49414981        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4942         err = V_KillNamedDataFolder(fname) 
    4943         if(err) 
    4944                 Print "DataFolder kill err = ",err 
    4945         endif 
     4982//      err = V_KillNamedDataFolder(fname) 
     4983//      if(err) 
     4984//              Print "DataFolder kill err = ",err 
     4985//      endif 
    49464986                 
    49474987        return(err) 
     
    49675007        endif 
    49685008        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4969         err = V_KillNamedDataFolder(fname) 
    4970         if(err) 
    4971                 Print "DataFolder kill err = ",err 
    4972         endif 
     5009//      err = V_KillNamedDataFolder(fname) 
     5010//      if(err) 
     5011//              Print "DataFolder kill err = ",err 
     5012//      endif 
    49735013        return(err) 
    49745014end 
     
    49955035        endif 
    49965036        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    4997         err = V_KillNamedDataFolder(fname) 
    4998         if(err) 
    4999                 Print "DataFolder kill err = ",err 
    5000         endif 
     5037//      err = V_KillNamedDataFolder(fname) 
     5038//      if(err) 
     5039//              Print "DataFolder kill err = ",err 
     5040//      endif 
    50015041        return(err) 
    50025042end 
     
    50245064        endif 
    50255065        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    5026         err = V_KillNamedDataFolder(fname) 
    5027         if(err) 
    5028                 Print "DataFolder kill err = ",err 
    5029         endif 
     5066//      err = V_KillNamedDataFolder(fname) 
     5067//      if(err) 
     5068//              Print "DataFolder kill err = ",err 
     5069//      endif 
    50305070        return(err) 
    50315071end 
     
    50595099        endif 
    50605100        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    5061         err = V_KillNamedDataFolder(fname) 
    5062         if(err) 
    5063                 Print "DataFolder kill err = ",err 
    5064         endif 
     5101//      err = V_KillNamedDataFolder(fname) 
     5102//      if(err) 
     5103//              Print "DataFolder kill err = ",err 
     5104//      endif 
    50655105        return(err) 
    50665106end 
     
    50875127        endif 
    50885128        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    5089         err = V_KillNamedDataFolder(fname) 
    5090         if(err) 
    5091                 Print "DataFolder kill err = ",err 
    5092         endif 
     5129//      err = V_KillNamedDataFolder(fname) 
     5130//      if(err) 
     5131//              Print "DataFolder kill err = ",err 
     5132//      endif 
    50935133        return(err) 
    50945134end 
     
    51135153        endif 
    51145154        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    5115         err = V_KillNamedDataFolder(fname) 
    5116         if(err) 
    5117                 Print "DataFolder kill err = ",err 
    5118         endif 
     5155//      err = V_KillNamedDataFolder(fname) 
     5156//      if(err) 
     5157//              Print "DataFolder kill err = ",err 
     5158//      endif 
    51195159        return(err) 
    51205160end 
     
    51395179        endif 
    51405180        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    5141         err = V_KillNamedDataFolder(fname) 
    5142         if(err) 
    5143                 Print "DataFolder kill err = ",err 
    5144         endif 
     5181//      err = V_KillNamedDataFolder(fname) 
     5182//      if(err) 
     5183//              Print "DataFolder kill err = ",err 
     5184//      endif 
    51455185        return(err) 
    51465186end 
     
    51635203         
    51645204        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    5165         err = V_KillNamedDataFolder(fname) 
    5166         if(err) 
    5167                 Print "DataFolder kill err = ",err 
    5168         endif 
     5205//      err = V_KillNamedDataFolder(fname) 
     5206//      if(err) 
     5207//              Print "DataFolder kill err = ",err 
     5208//      endif 
    51695209                 
    51705210        return(err) 
     
    51895229         
    51905230        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    5191         err = V_KillNamedDataFolder(fname) 
    5192         if(err) 
    5193                 Print "DataFolder kill err = ",err 
    5194         endif 
     5231//      err = V_KillNamedDataFolder(fname) 
     5232//      if(err) 
     5233//              Print "DataFolder kill err = ",err 
     5234//      endif 
    51955235                 
    51965236        return(err) 
     
    52155255         
    52165256        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    5217         err = V_KillNamedDataFolder(fname) 
    5218         if(err) 
    5219                 Print "DataFolder kill err = ",err 
    5220         endif 
     5257//      err = V_KillNamedDataFolder(fname) 
     5258//      if(err) 
     5259//              Print "DataFolder kill err = ",err 
     5260//      endif 
    52215261                 
    52225262        return(err) 
     
    52415281         
    52425282        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    5243         err = V_KillNamedDataFolder(fname) 
    5244         if(err) 
    5245                 Print "DataFolder kill err = ",err 
    5246         endif 
     5283//      err = V_KillNamedDataFolder(fname) 
     5284//      if(err) 
     5285//              Print "DataFolder kill err = ",err 
     5286//      endif 
    52475287                 
    52485288        return(err) 
     
    52665306         
    52675307        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    5268         err = V_KillNamedDataFolder(fname) 
    5269         if(err) 
    5270                 Print "DataFolder kill err = ",err 
    5271         endif 
     5308//      err = V_KillNamedDataFolder(fname) 
     5309//      if(err) 
     5310//              Print "DataFolder kill err = ",err 
     5311//      endif 
    52725312                 
    52735313        return(err) 
     
    52915331         
    52925332        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    5293         err = V_KillNamedDataFolder(fname) 
    5294         if(err) 
    5295                 Print "DataFolder kill err = ",err 
    5296         endif 
     5333//      err = V_KillNamedDataFolder(fname) 
     5334//      if(err) 
     5335//              Print "DataFolder kill err = ",err 
     5336//      endif 
    52975337                 
    52985338        return(err) 
     
    53195359        endif 
    53205360        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    5321         err = V_KillNamedDataFolder(fname) 
    5322         if(err) 
    5323                 Print "DataFolder kill err = ",err 
    5324         endif 
     5361//      err = V_KillNamedDataFolder(fname) 
     5362//      if(err) 
     5363//              Print "DataFolder kill err = ",err 
     5364//      endif 
    53255365        return(err) 
    53265366end 
     
    53455385        endif 
    53465386        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    5347         err = V_KillNamedDataFolder(fname) 
    5348         if(err) 
    5349                 Print "DataFolder kill err = ",err 
    5350         endif 
     5387//      err = V_KillNamedDataFolder(fname) 
     5388//      if(err) 
     5389//              Print "DataFolder kill err = ",err 
     5390//      endif 
    53515391        return(err) 
    53525392end 
     
    53725412         
    53735413        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    5374         err = V_KillNamedDataFolder(fname) 
    5375         if(err) 
    5376                 Print "DataFolder kill err = ",err 
    5377         endif 
     5414//      err = V_KillNamedDataFolder(fname) 
     5415//      if(err) 
     5416//              Print "DataFolder kill err = ",err 
     5417//      endif 
    53785418                 
    53795419        return(err) 
     
    54035443        endif 
    54045444        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    5405         err = V_KillNamedDataFolder(fname) 
    5406         if(err) 
    5407                 Print "DataFolder kill err = ",err 
    5408         endif 
     5445//      err = V_KillNamedDataFolder(fname) 
     5446//      if(err) 
     5447//              Print "DataFolder kill err = ",err 
     5448//      endif 
    54095449        return(err) 
    54105450end 
     
    54275467         
    54285468        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    5429         err = V_KillNamedDataFolder(fname) 
    5430         if(err) 
    5431                 Print "DataFolder kill err = ",err 
    5432         endif 
     5469//      err = V_KillNamedDataFolder(fname) 
     5470//      if(err) 
     5471//              Print "DataFolder kill err = ",err 
     5472//      endif 
    54335473                 
    54345474        return(err) 
     
    54685508         
    54695509        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    5470         err = V_KillNamedDataFolder(fname) 
    5471         if(err) 
    5472                 Print "DataFolder kill err = ",err 
    5473         endif 
     5510//      err = V_KillNamedDataFolder(fname) 
     5511//      if(err) 
     5512//              Print "DataFolder kill err = ",err 
     5513//      endif 
    54745514                 
    54755515        return(err) 
     
    54935533         
    54945534        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    5495         err = V_KillNamedDataFolder(fname) 
    5496         if(err) 
    5497                 Print "DataFolder kill err = ",err 
    5498         endif 
     5535//      err = V_KillNamedDataFolder(fname) 
     5536//      if(err) 
     5537//              Print "DataFolder kill err = ",err 
     5538//      endif 
    54995539                 
    55005540        return(err) 
     
    55185558         
    55195559        // now be sure to kill the data folder to force a re-read of the data next time this file is read in 
    5520         err = V_KillNamedDataFolder(fname) 
    5521         if(err) 
    5522                 Print "DataFolder kill err = ",err 
    5523         endif 
    5524                  
    5525         return(err) 
    5526 End 
    5527  
     5560//      err = V_KillNamedDataFolder(fname) 
     5561//      if(err) 
     5562//              Print "DataFolder kill err = ",err 
     5563//      endif 
     5564                 
     5565        return(err) 
     5566End 
     5567 
  • sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_Test_RAW_Panel.ipf

    r982 r983  
    133133        Button button_tagFile,pos={603,412},size={70,20},proc=TagFileButtonProc,title="Tag File" 
    134134        Button button_BeamCtr,pos={603,450},size={70,20},proc=BeamCtrButtonProc,title="Beam Ctr" 
     135        Button button_SpreadPanels,pos={603,488},size={100,20},proc=SpreadPanelButtonProc,title="Spread Panels" 
     136        Button button_RestorePanels,pos={603,526},size={100,20},proc=RestorePanelButtonProc,title="Restore Panels" 
    135137 
    136138// on the tabs, always visible 
     
    162164        Make/O/D tmp_asdf 
    163165        // for back panels (in pixels?)  
    164         Display/W=(50,185,545,620)/HOST=# tmp_asdf  
     166//      Display/W=(50,185,545,620)/HOST=# tmp_asdf  
     167        Display/W=(50,185,517,620)/HOST=# tmp_asdf  
    165168        RenameWindow #,det_panelsB 
    166169        ModifyGraph mode=2              // mode = 2 = dots 
     
    173176         
    174177        // for middle panels (in pixels?)        
    175         Display/W=(50,185,545,620)/HOST=# tmp_asdf  
     178        Display/W=(50,185,517,620)/HOST=# tmp_asdf  
    176179        RenameWindow #,det_panelsM 
    177180        ModifyGraph mode=2              // mode = 2 = dots 
     
    184187         
    185188        // for front panels (in pixels?)         
    186         Display/W=(50,185,545,620)/HOST=# tmp_asdf  
     189        Display/W=(50,185,517,620)/HOST=# tmp_asdf  
    187190        RenameWindow #,det_panelsF 
    188191        ModifyGraph mode=2              // mode = 2 = dots 
     
    341344// 
    342345// TODO: these q-values ignore the non-linear corrections!!! 
    343 // -- What can I do about this?                                  
    344                                         gQQ = VC_CalcQval(xaxval+1,yaxval+1,xctr,yctr,sdd,lam,pixSizeX,pixSizeY) 
    345                                         gQX = VC_CalcQX(xaxval+1,yaxval+1,xctr,yctr,sdd,lam,pixSizeX,pixSizeY) 
    346                                         gQY = VC_CalcQY(xaxval+1,yaxval+1,xctr,yctr,sdd,lam,pixSizeX,pixSizeY) 
     346// -- What can I do about this?  
     347// TODO: figure out what coordinates I need to pass -- xloc, yloc, textX, testY, (+1 on any?)                            
     348                                        gQQ = VC_CalcQval(testX,testY,xctr,yctr,sdd,lam,pixSizeX,pixSizeY) 
     349                                        gQX = VC_CalcQX(testX,testY,xctr,yctr,sdd,lam,pixSizeX,pixSizeY) 
     350                                        gQY = VC_CalcQY(testX,testY,xctr,yctr,sdd,lam,pixSizeX,pixSizeY) 
    347351 
    348352                                        ii = -1         //look no further, set ii to bad value to exit the for loop 
     
    417421                                        ModifyImage/W=VSANS_Data#det_panelsB ''#0 ctab= {*,*,ColdWarm,0} 
    418422                                endif 
    419                                 MoveSubWindow/W=VSANS_Data#det_panelsB fnum=(50,185,545,620) 
     423                                MoveSubWindow/W=VSANS_Data#det_panelsB fnum=(50,185,517,620) 
    420424                                MoveSubWindow/W=VSANS_Data#det_panelsM fnum=(320,70,430,160) 
    421425                                MoveSubWindow/W=VSANS_Data#det_panelsF fnum=(200,70,310,160) 
     
    461465                                        ModifyImage/W=VSANS_Data#det_panelsM ''#3 ctab= {*,*,ColdWarm,0} 
    462466                                endif 
    463                                 MoveSubWindow/W=VSANS_Data#det_panelsM fnum=(50,185,545,620) 
     467                                MoveSubWindow/W=VSANS_Data#det_panelsM fnum=(50,185,517,620) 
    464468                                MoveSubWindow/W=VSANS_Data#det_panelsB fnum=(440,70,550,160) 
    465469                                MoveSubWindow/W=VSANS_Data#det_panelsF fnum=(200,70,310,160) 
     
    508512                                        ModifyImage/W=VSANS_Data#det_panelsF ''#3 ctab= {*,*,ColdWarm,0} 
    509513                                endif 
    510                                 MoveSubWindow/W=VSANS_Data#det_panelsF fnum=(50,185,545,620) 
     514                                MoveSubWindow/W=VSANS_Data#det_panelsF fnum=(50,185,517,620) 
    511515                                MoveSubWindow/W=VSANS_Data#det_panelsB fnum=(440,70,550,160) 
    512516                                MoveSubWindow/W=VSANS_Data#det_panelsM fnum=(320,70,430,160) 
     
    768772End 
    769773 
     774//TODO 
     775// 
     776// this "spreads" the display of panels to a nominal separation for easier viewing 
     777// 
     778Function SpreadPanelButtonProc(ba) : ButtonControl 
     779        STRUCT WMButtonAction &ba 
     780 
     781        switch( ba.eventCode ) 
     782                case 2: // mouse up 
     783                        // click code here 
     784                        V_SpreadOutPanels() 
     785                        break 
     786                case -1: // control being killed 
     787                        break 
     788        endswitch 
     789 
     790        return 0 
     791End 
     792 
     793//TODO 
     794// 
     795// this "restores" the display of panels to their actual position based on the apparent beam center 
     796// 
     797Function RestorePanelButtonProc(ba) : ButtonControl 
     798        STRUCT WMButtonAction &ba 
     799 
     800        switch( ba.eventCode ) 
     801                case 2: // mouse up 
     802                        // click code here 
     803                        V_RestorePanels() 
     804                        break 
     805                case -1: // control being killed 
     806                        break 
     807        endswitch 
     808 
     809        return 0 
     810End 
     811 
    770812// TODO 
    771813// 
Note: See TracChangeset for help on using the changeset viewer.