Ignore:
Timestamp:
Apr 24, 2018 3:55:39 PM (5 years ago)
Author:
srkline
Message:

added procedures to compare files to see if they are from the same configuration, same wavelength, etc. so they can be properly chosen for transmission files, scattering files, and properly identified for the different resolution conditions.

Re-worked the logic of dispatching averaging, plotting, and saving in Execute_Protocol. Hopefully this will alow for easier dispatching for future conditions, including getting the correct resolution calculation.

File:
1 edited

Legend:

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

    r1095 r1097  
    9292// -- AND need to write the routine for binning_SlitMode 
    9393// 
    94 Function V_QBinAllPanels_Circular(folderStr,binType) 
     94Function V_QBinAllPanels_Circular(folderStr,binType,collimationStr) 
    9595        String folderStr 
    9696        Variable binType 
     97        String collimationStr 
    9798 
    9899        // do the back, middle, and front separately 
     
    114115        switch(binType) 
    115116                case 1: 
    116                         VC_fDoBinning_QxQy2D(folderStr,"FL") 
    117                         VC_fDoBinning_QxQy2D(folderStr,"FR") 
    118                         VC_fDoBinning_QxQy2D(folderStr,"FT") 
    119                         VC_fDoBinning_QxQy2D(folderStr,"FB") 
    120                         VC_fDoBinning_QxQy2D(folderStr,"ML") 
    121                         VC_fDoBinning_QxQy2D(folderStr,"MR") 
    122                         VC_fDoBinning_QxQy2D(folderStr,"MT") 
    123                         VC_fDoBinning_QxQy2D(folderStr,"MB")                     
    124                         VC_fDoBinning_QxQy2D(folderStr, "B")             
     117                        VC_fDoBinning_QxQy2D(folderStr,"FL",collimationStr) 
     118                        VC_fDoBinning_QxQy2D(folderStr,"FR",collimationStr) 
     119                        VC_fDoBinning_QxQy2D(folderStr,"FT",collimationStr) 
     120                        VC_fDoBinning_QxQy2D(folderStr,"FB",collimationStr) 
     121                        VC_fDoBinning_QxQy2D(folderStr,"ML",collimationStr) 
     122                        VC_fDoBinning_QxQy2D(folderStr,"MR",collimationStr) 
     123                        VC_fDoBinning_QxQy2D(folderStr,"MT",collimationStr) 
     124                        VC_fDoBinning_QxQy2D(folderStr,"MB",collimationStr)                      
     125                        VC_fDoBinning_QxQy2D(folderStr, "B",collimationStr)              
    125126 
    126127                        break 
    127128                case 2: 
    128                         VC_fDoBinning_QxQy2D(folderStr,"FLR") 
    129                         VC_fDoBinning_QxQy2D(folderStr,"FTB") 
    130                         VC_fDoBinning_QxQy2D(folderStr,"MLR") 
    131                         VC_fDoBinning_QxQy2D(folderStr,"MTB") 
    132                         VC_fDoBinning_QxQy2D(folderStr, "B")             
     129                        VC_fDoBinning_QxQy2D(folderStr,"FLR",collimationStr) 
     130                        VC_fDoBinning_QxQy2D(folderStr,"FTB",collimationStr) 
     131                        VC_fDoBinning_QxQy2D(folderStr,"MLR",collimationStr) 
     132                        VC_fDoBinning_QxQy2D(folderStr,"MTB",collimationStr) 
     133                        VC_fDoBinning_QxQy2D(folderStr, "B",collimationStr)              
    133134 
    134135                        break 
    135136                case 3: 
    136                         VC_fDoBinning_QxQy2D(folderStr,"MLRTB") 
    137                         VC_fDoBinning_QxQy2D(folderStr,"FLRTB") 
    138                         VC_fDoBinning_QxQy2D(folderStr, "B")             
     137                        VC_fDoBinning_QxQy2D(folderStr,"MLRTB",collimationStr) 
     138                        VC_fDoBinning_QxQy2D(folderStr,"FLRTB",collimationStr) 
     139                        VC_fDoBinning_QxQy2D(folderStr, "B",collimationStr)              
    139140                         
    140141                        break 
     
    148149                        break 
    149150                case 5: 
    150                         VC_fDoBinning_QxQy2D(folderStr,"FTB") 
    151                         VC_fDoBinning_QxQy2D(folderStr,"FLR") 
    152                         VC_fDoBinning_QxQy2D(folderStr,"MLRTB") 
    153                         VC_fDoBinning_QxQy2D(folderStr, "B")             
     151                        VC_fDoBinning_QxQy2D(folderStr,"FTB",collimationStr) 
     152                        VC_fDoBinning_QxQy2D(folderStr,"FLR",collimationStr) 
     153                        VC_fDoBinning_QxQy2D(folderStr,"MLRTB",collimationStr) 
     154                        VC_fDoBinning_QxQy2D(folderStr, "B",collimationStr)              
    154155                 
    155156                        break 
    156157                case 6: 
    157                         VC_fDoBinning_QxQy2D(folderStr,"FLRTB") 
    158                         VC_fDoBinning_QxQy2D(folderStr,"MLR") 
    159                         VC_fDoBinning_QxQy2D(folderStr, "B")             
     158                        VC_fDoBinning_QxQy2D(folderStr,"FLRTB",collimationStr) 
     159                        VC_fDoBinning_QxQy2D(folderStr,"MLR",collimationStr) 
     160                        VC_fDoBinning_QxQy2D(folderStr, "B",collimationStr)              
    160161                 
    161162                        break 
    162163                case 7: 
    163                         VC_fDoBinning_QxQy2D(folderStr,"FTB") 
    164                         VC_fDoBinning_QxQy2D(folderStr,"FLR") 
    165                         VC_fDoBinning_QxQy2D(folderStr,"MLR") 
    166                         VC_fDoBinning_QxQy2D(folderStr, "B")             
     164                        VC_fDoBinning_QxQy2D(folderStr,"FTB",collimationStr) 
     165                        VC_fDoBinning_QxQy2D(folderStr,"FLR",collimationStr) 
     166                        VC_fDoBinning_QxQy2D(folderStr,"MLR",collimationStr) 
     167                        VC_fDoBinning_QxQy2D(folderStr, "B",collimationStr)              
    167168                 
    168169                        break 
     
    175176        return(0) 
    176177End 
     178 
     179 
     180// 
     181// TODO -- binType == 4 (slit mode) should be the only case to end up here 
     182// -- new logic in calling routines to dispatch to proper routine 
     183// -- AND need to write the routine for binning_SlitMode 
     184// 
     185Function V_QBinAllPanels_Slit(folderStr,binType) 
     186        String folderStr 
     187        Variable binType 
     188 
     189        // do the back, middle, and front separately 
     190         
     191//      figure out the binning type (where is it set?) 
     192        Variable ii,delQ 
     193        String detStr 
     194 
     195//      binType = V_GetBinningPopMode() 
     196 
     197        // set delta Q for binning (used later inside VC_fDoBinning_QxQy2D) 
     198        for(ii=0;ii<ItemsInList(ksDetectorListAll);ii+=1) 
     199                detStr = StringFromList(ii, ksDetectorListAll, ";") 
     200                 
     201                delQ = V_SetDeltaQ(folderStr,detStr)            // this sets (overwrites) the global value for each panel type 
     202        endfor 
     203         
     204 
     205        switch(binType) 
     206                case 1: 
     207 
     208                        break 
     209                case 2: 
     210 
     211                        break 
     212                case 3: 
     213 
     214                        break 
     215                case 4:                         /// this is for a tall, narrow slit mode         
     216                        VC_fBinDetector_byRows(folderStr,"FL") 
     217                        VC_fBinDetector_byRows(folderStr,"FR") 
     218                        VC_fBinDetector_byRows(folderStr,"ML") 
     219                        VC_fBinDetector_byRows(folderStr,"MR") 
     220                        VC_fBinDetector_byRows(folderStr,"B") 
     221 
     222                        break 
     223                case 5: 
     224                 
     225                        break 
     226                case 6: 
     227                 
     228                        break 
     229                case 7: 
     230         
     231                        break 
     232                         
     233                default: 
     234                        Abort "Binning mode not found in V_QBinAllPanels_Slit"// when no case matches    
     235        endswitch 
     236         
     237 
     238        return(0) 
     239End 
     240 
     241 
    177242 
    178243// concatenates and sorts the 1D data in "type" WORK folder 
Note: See TracChangeset for help on using the changeset viewer.