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.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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 
Note: See TracChangeset for help on using the changeset viewer.