Ignore:
Timestamp:
Jul 20, 2017 3:22:34 PM (5 years ago)
Author:
srkline
Message:

LOTS of changes to accommodate the beam center being reported in cm rather than pixels. Required a lot of changes to VCALC (to fill in simulated data), and in the reading and interpreting of data for display, and most importantly, the calculation of q.

There may still be a few residual bugs with this. I am still re-testing with new sample data sets.

File:
1 edited

Legend:

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

    r1051 r1055  
    2828// 
    2929// 
    30 Strconstant ksDetectorListNoB = "FL;FR;FT;FB;ML;MR;MT;MB;" 
    31 Strconstant ksDetectorListAll = "FL;FR;FT;FB;ML;MR;MT;MB;B;" 
    3230 
    3331 
     
    551549                        Wave w_calib = V_getDetTube_spatialCalib(fname,detStr) 
    552550                        Variable tube_width = V_getDet_tubeWidth(fname,detStr) 
    553                         V_NonLinearCorrection(w,w_calib,tube_width,detStr,destPath) 
     551                        V_NonLinearCorrection(fname,w,w_calib,tube_width,detStr,destPath) 
    554552 
    555553                        //(2.4) Convert the beam center values from pixels to mm 
    556554                        // TODO -- there needs to be a permanent location for these values?? 
    557555                        // 
    558                         V_ConvertBeamCtr_to_mm(fname,detStr,destPath) 
     556                                // TODO 
     557                                // -- the beam center value in mm needs to be present - it is used in calculation of Qvalues 
     558                                // -- but having both the same is wrong... 
     559                                // -- the pixel value is needed for display of the panels 
     560                                if(kBCTR_CM) 
     561                                        //V_ConvertBeamCtr_to_mm(folder,detStr,destPath) 
     562                                        // 
     563         
     564                                        Make/O/D/N=1 $(destPath + ":entry:instrument:detector_"+detStr+":beam_center_x_mm") 
     565                                        Make/O/D/N=1 $(destPath + ":entry:instrument:detector_"+detStr+":beam_center_y_mm") 
     566                                        WAVE x_mm = $(destPath + ":entry:instrument:detector_"+detStr+":beam_center_x_mm") 
     567                                        WAVE y_mm = $(destPath + ":entry:instrument:detector_"+detStr+":beam_center_y_mm") 
     568                                        x_mm[0] = V_getDet_beam_center_x(fname,detStr) * 10             // convert cm to mm 
     569                                        y_mm[0] = V_getDet_beam_center_y(fname,detStr) * 10             // convert cm to mm 
     570                                         
     571                                        // TODO::: 
     572                                // now I need to convert the beam center in mm to pixels 
     573                                // and have some rational place to look for it... 
     574                                        V_ConvertBeamCtr_to_pix(fname,detStr,destPath) 
     575                                else 
     576                                        // beam center is in pixels, so use the old routine 
     577                                        V_ConvertBeamCtr_to_mm(fname,detStr,destPath) 
     578                                endif            
    559579                                                         
    560580                        // (2.5) Calculate the q-values 
     
    573593                 
    574594                //"B" is separate 
    575                 V_NonLinearCorrection_B(fname,"B",destPath) 
     595                Wave w = V_getDetectorDataW(fname,"B") 
     596                Wave cal_x = V_getDet_cal_x(fname,"B") 
     597                Wave cal_y = V_getDet_cal_y(fname,"B") 
     598                V_NonLinearCorrection_B(fname,w,cal_x,cal_y,"B",destPath) 
    576599                V_ConvertBeamCtr_to_mmB(fname,"B",destPath) 
    577600                V_Detector_CalcQVals(fname,"B",destPath) 
Note: See TracChangeset for help on using the changeset viewer.