Ignore:
Timestamp:
Apr 29, 2016 5:04:20 PM (6 years ago)
Author:
srkline
Message:

more changes, bug fixes, detector dead time fix

File:
1 edited

Legend:

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

    r994 r995  
    472472                        Wave w = V_getDetectorDataW(fname,detStr) 
    473473                        Wave w_err = V_getDetectorDataErrW(fname,detStr) 
    474 //                      Wave w_dt = V_getDetector_deadtime(fname,detStr) 
     474                        // any other dimensions to pass in? 
    475475//                      SolidAngleCorrection(fill this in) 
    476476                         
     
    485485        // -- loop over all of the detectors 
    486486        // -- B detector is a special case (do separately, then loop over NoB) 
     487        // -- this DOES alter the data 
     488        // -- verify the error propagation 
     489        // 
     490        Variable countRate 
    487491        NVAR gDoDeadTimeCor = root:Packages:NIST:VSANS:Globals:gDoDeadTimeCor 
    488492        if (gDoDeadTimeCor == 1) 
     
    497501                                Variable b_dt = V_getDetector_deadtime_B(fname,detStr) 
    498502                                // do the correction for the back panel 
    499                                  
    500                                 //      itim = integersread[2] 
    501                                 //      cntrate = sum(data,-inf,inf)/itim               //use sum of detector counts rather than scaler value 
    502                                 //      //TODO - do correct dead time correction for tubes 
    503                                 //      deadtime = 1//DetectorDeadtime(textread[3],textread[9],dateAndTimeStr=textRead[1],dtime=realsRead[48])  //pick the correct deadtime 
    504                                 //      dscale = 1/(1-deadTime*cntrate) 
    505                                 //       
    506                                          
    507                                 // dead time correction 
    508                                 //      data *= dscale          //deadtime correction for everyone else, including NCNR 
    509                                 //      data_err *= dscale 
    510                                  
    511                                  
     503                                countRate = sum(w,-inf,inf)/ctTime              //use sum of detector counts 
     504 
     505                                w = w/(1-countRate*b_dt) 
     506                                w_err = w_err/(1-countRate*b_dt) 
     507                                                                 
    512508                        else 
    513509                                // do the corrections for 8 tube panels 
    514  
    515510                                Wave w_dt = V_getDetector_deadtime(fname,detStr) 
    516                                 //                      DeadTimeCorrectionTubes(w,w_err,w_dt,ctTime) 
    517  
    518  
     511                                DeadTimeCorrectionTubes(w,w_err,w_dt,ctTime) 
     512                                 
    519513                        endif 
    520514                endfor 
Note: See TracChangeset for help on using the changeset viewer.