Ignore:
Timestamp:
Feb 2, 2018 8:26:07 AM (5 years ago)
Author:
srkline
Message:

additions to VCALC procedures to correctly account for panel motion (individual, not symmetric). Updated the plotting routines to all (mostly) pass through the same subroutines so that additional averaging modes will be easier to add.

File:
1 edited

Legend:

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

    r1063 r1081  
    9595         
    9696        // do the q-binning for each of the panels to get I(Q) 
    97         Execute "BinAllFrontPanels()" 
     97        BinAllFrontPanels() 
     98 
    9899 
    99100        // plot the results 
    100         Execute "Front_IQ_Graph()" 
     101        String type = "VCALC" 
     102        String str,winStr="VCALC#Panels_IQ",workTypeStr,popStr 
     103        workTypeStr = "root:Packages:NIST:VSANS:"+type 
     104 
     105        ControlInfo/W=VCALC popup_b 
     106        popStr = S_Value                // 
     107         
     108        sprintf str,"(\"%s\",%d,\"%s\")",workTypeStr,V_BinTypeStr2Num(popStr),winStr 
     109 
     110        Execute ("V_Front_IQ_Graph"+str) 
     111                 
     112//      Execute "Front_IQ_Graph()" 
     113 
    101114        FrontPanels_AsQ() 
    102115         
     
    125138 
    126139        Variable xCtr,yCtr,sdd,lam,pixSizeX,pixSizeY,nPix_X,nPix_Y 
    127         Variable F_LR_sep,F_TB_sep,F_offset,F_sdd_setback 
     140        Variable F_L_sep,F_R_sep,F_T_sep,F_B_sep,F_sdd_setback 
    128141 
    129142        String folderPath = "root:Packages:NIST:VSANS:VCALC" 
     
    132145 
    133146// get the values from the panel + constants     
    134         F_LR_sep = VCALC_getPanelSeparation("FLR") 
    135         F_TB_sep = VCALC_getPanelSeparation("FTB") 
    136         F_offset = VCALC_getLateralOffset("FL") 
     147        F_L_sep = VCALC_getPanelTranslation("FL") 
     148        F_R_sep = VCALC_getPanelTranslation("FR") 
     149        F_T_sep = VCALC_getPanelTranslation("FT") 
     150        F_B_sep = VCALC_getPanelTranslation("FB") 
    137151         
    138152        SDD = VCALC_getSDD("FL")                //nominal SDD [cm] - need offset for TB 
     
    182196                yCtr = 0                        //values in cm 
    183197        else     
    184                 xCtr = nPix_X+(F_LR_sep/2/pixSizeX)             // TODO  -- check -- starting from 47 rather than 48 (but I'm in pixel units for centers)?? 
     198                xCtr = nPix_X-(F_L_sep/pixSizeX)                // TODO  -- check -- starting from 47 rather than 48 (but I'm in pixel units for centers)?? 
    185199                yCtr = nPix_Y/2  
    186200        endif 
     
    225239                yCtr = 0                        //values in cm 
    226240        else     
    227                 xCtr = -(F_LR_sep/2/pixSizeX)-1          
     241                xCtr = -(F_R_sep/pixSizeX)-1             
    228242                yCtr = nPix_Y/2  
    229243        endif 
     
    265279        else     
    266280                xCtr = nPix_X/2 
    267                 yCtr = -(F_TB_sep/2/pixSizeY)-1  
     281                yCtr = -(F_T_sep/2/pixSizeY)-1  
    268282        endif    
    269283 
     
    306320        else     
    307321                xCtr = nPix_X/2 
    308                 yCtr = nPix_Y+(F_TB_sep/2/pixSizeY)             // TODO  -- check -- starting from 47 rather than 48 (but I'm in pixel units for centers)?? 
     322                yCtr = nPix_Y+(F_B_sep/2/pixSizeY)              // TODO  -- check -- starting from 47 rather than 48 (but I'm in pixel units for centers)?? 
    309323        endif    
    310324                         
     
    335349        String folderStr,type 
    336350         
    337         Variable LR_sep,nPix,xCtr,ii,jj,numCol,pixSizeX,pixSizeY,nPix_X,nPix_Y 
     351        Variable L_sep,R_sep,nPix_L,nPix_R,xCtr,ii,jj,numCol,pixSizeX,pixSizeY,nPix_X,nPix_Y 
    338352 
    339353/// !! type passed in will be FT, FB, MT, MB, so I can't ask for the panel separation -- or I'll get the TB separation... 
    340         if(cmpstr(type[0],"F")==0) 
    341                 //front 
    342                 ControlInfo/W=VCALC VCALCCtrl_2a 
    343                 LR_sep = V_Value         
     354// translation in [cm] 
     355        if(cmpstr("F",type[0]) == 0)            // FT or FB passed in 
     356                L_sep = VCALC_getPanelTranslation("FL") 
     357                R_sep = VCALC_getPanelTranslation("FR") 
    344358        else 
    345                 //middle 
    346                 ControlInfo/W=VCALC VCALCCtrl_3a 
    347                 LR_sep = V_Value         
    348         endif            
    349 //separations on panel are in cm -- need to watch the units, convert to cm 
    350 //      LR_sep /= 10 
     359                L_sep = VCALC_getPanelTranslation("ML") 
     360                R_sep = VCALC_getPanelTranslation("MR")  
     361        endif 
     362 
    351363 
    352364//detector data 
     
    365377        //TODO -- get this from a global 
    366378        xCtr = nPix_X/2 
    367         nPix = trunc(LR_sep/2/pixSizeX)         // approx # of pixels Left/right of center that are not obscured by L/R panels 
     379        nPix_L = trunc(abs(L_sep)/pixSizeX)             // approx # of pixels Left of center that are not obscured by L/R panels 
     380        nPix_R = trunc(abs(R_sep)/pixSizeX)             // approx # of pixels Right of center that are not obscured by L/R panels 
    368381         
    369382        numCol = DimSize(det,0)         // x dim (columns) 
    370         for(ii=0;ii<(xCtr-nPix-4);ii+=1) 
     383        for(ii=0;ii<(xCtr-nPix_L-4);ii+=1) 
    371384                det[ii][] = NaN 
    372385        endfor 
    373         for(ii=(xCtr+nPix+6);ii<numCol;ii+=1) 
     386        for(ii=(xCtr+nPix_R+6);ii<numCol;ii+=1) 
    374387                det[ii][] = NaN 
    375388        endfor 
     
    446459// the results are in iBin_qxqy, qBin_qxqy, and eBin_qxqy, in the folder passed 
    447460//  
    448 Proc BinAllFrontPanels() 
     461// TODO -- this is a (partial) duplicated routine... I need to  
     462// **** COPY the logic from V_QBinAllPanels_Circular every time I add a new bin type 
     463// 
     464// -- see also BinAllMiddlePanels() 
     465// -- BinAllBackPanels() 
     466// 
     467Function BinAllFrontPanels() 
    449468 
    450469        SetDeltaQ("VCALC","FL") 
     
    457476        binType = V_Value               // V_value counts menu items from 1, so 1=1, 2=2, 3=4 
    458477 
    459         if(binType == 1) 
    460                 VC_BinQxQy_to_1D("VCALC","FL") 
    461                 VC_BinQxQy_to_1D("VCALC","FR") 
    462                 VC_BinQxQy_to_1D("VCALC","FT") 
    463                 VC_BinQxQy_to_1D("VCALC","FB") 
    464         endif 
    465          
    466         if(binType == 2)         
    467                 VC_BinQxQy_to_1D("VCALC","FLR") 
    468                 VC_BinQxQy_to_1D("VCALC","FTB") 
    469         endif 
    470  
    471         if(binType == 3) 
    472                 VC_BinQxQy_to_1D("VCALC","FLRTB") 
    473         endif 
    474  
    475 // TODO -- this is only a temporary fix for slit mode    
    476         if(binType == 4) 
    477                 /// this is for a tall, narrow slit mode         
    478                 VC_fBinDetector_byRows("VCALC","FL") 
    479                 VC_fBinDetector_byRows("VCALC","FR") 
    480                 VC_fBinDetector_byRows("VCALC","FT") 
    481                 VC_fBinDetector_byRows("VCALC","FB") 
    482         endif 
     478        String folderStr = "VCALC" 
     479         
     480        switch(binType) 
     481                case 1: 
     482                        VC_fDoBinning_QxQy2D(folderStr,"FL") 
     483                        VC_fDoBinning_QxQy2D(folderStr,"FR") 
     484                        VC_fDoBinning_QxQy2D(folderStr,"FT") 
     485                        VC_fDoBinning_QxQy2D(folderStr,"FB") 
     486//                      VC_fDoBinning_QxQy2D(folderStr,"ML") 
     487//                      VC_fDoBinning_QxQy2D(folderStr,"MR") 
     488//                      VC_fDoBinning_QxQy2D(folderStr,"MT") 
     489//                      VC_fDoBinning_QxQy2D(folderStr,"MB")                     
     490//                      VC_fDoBinning_QxQy2D(folderStr, "B")             
     491 
     492                        break 
     493                case 2: 
     494                        VC_fDoBinning_QxQy2D(folderStr,"FLR") 
     495                        VC_fDoBinning_QxQy2D(folderStr,"FTB") 
     496//                      VC_fDoBinning_QxQy2D(folderStr,"MLR") 
     497//                      VC_fDoBinning_QxQy2D(folderStr,"MTB") 
     498//                      VC_fDoBinning_QxQy2D(folderStr, "B")             
     499 
     500                        break 
     501                case 3: 
     502//                      VC_fDoBinning_QxQy2D(folderStr,"MLRTB") 
     503                        VC_fDoBinning_QxQy2D(folderStr,"FLRTB") 
     504//                      VC_fDoBinning_QxQy2D(folderStr, "B")             
     505                         
     506                        break 
     507                case 4:                         /// this is for a tall, narrow slit mode         
     508                        VC_fBinDetector_byRows(folderStr,"FL") 
     509                        VC_fBinDetector_byRows(folderStr,"FR") 
     510//                      VC_fBinDetector_byRows(folderStr,"ML") 
     511//                      VC_fBinDetector_byRows(folderStr,"MR") 
     512//                      VC_fBinDetector_byRows(folderStr,"B") 
     513 
     514                        break 
     515                case 5: 
     516                        VC_fDoBinning_QxQy2D(folderStr,"FTB") 
     517                        VC_fDoBinning_QxQy2D(folderStr,"FLR") 
     518//                      VC_fDoBinning_QxQy2D(folderStr,"MLRTB") 
     519//                      VC_fDoBinning_QxQy2D(folderStr, "B")             
     520                 
     521                        break 
     522                case 6: 
     523                        VC_fDoBinning_QxQy2D(folderStr,"FLRTB") 
     524//                      VC_fDoBinning_QxQy2D(folderStr,"MLR") 
     525//                      VC_fDoBinning_QxQy2D(folderStr, "B")             
     526                 
     527                        break 
     528                case 7: 
     529                        VC_fDoBinning_QxQy2D(folderStr,"FTB") 
     530                        VC_fDoBinning_QxQy2D(folderStr,"FLR") 
     531//                      VC_fDoBinning_QxQy2D(folderStr,"MLR") 
     532//                      VC_fDoBinning_QxQy2D(folderStr, "B")             
     533                 
     534                        break 
     535                         
     536                default: 
     537                        Abort "Binning mode not found in BinAllFrontPanels "// when no case matches      
     538        endswitch 
     539         
     540 
     541//      if(binType == 1) 
     542//              VC_BinQxQy_to_1D("VCALC","FL") 
     543//              VC_BinQxQy_to_1D("VCALC","FR") 
     544//              VC_BinQxQy_to_1D("VCALC","FT") 
     545//              VC_BinQxQy_to_1D("VCALC","FB") 
     546//      endif 
     547//       
     548//      if(binType == 2)         
     549//              VC_BinQxQy_to_1D("VCALC","FLR") 
     550//              VC_BinQxQy_to_1D("VCALC","FTB") 
     551//      endif 
     552// 
     553//      if(binType == 3) 
     554//              VC_BinQxQy_to_1D("VCALC","FLRTB") 
     555//      endif 
     556// 
     557//// TODO -- this is only a temporary fix for slit mode  
     558//      if(binType == 4) 
     559//              /// this is for a tall, narrow slit mode         
     560//              VC_fBinDetector_byRows("VCALC","FL") 
     561//              VC_fBinDetector_byRows("VCALC","FR") 
     562//              VC_fBinDetector_byRows("VCALC","FT") 
     563//              VC_fBinDetector_byRows("VCALC","FB") 
     564//      endif 
    483565                 
    484566End 
     
    544626         
    545627        // do the q-binning for each of the panels to get I(Q) 
    546         Execute "BinAllMiddlePanels()" 
     628        BinAllMiddlePanels() 
    547629 
    548630        // plot the results 
    549         Execute "Middle_IQ_Graph()" 
     631        String type = "VCALC" 
     632        String str,winStr="VCALC#Panels_IQ",workTypeStr,popStr 
     633        workTypeStr = "root:Packages:NIST:VSANS:"+type 
     634 
     635        ControlInfo/W=VCALC popup_b 
     636        popStr = S_Value                // 
     637         
     638        sprintf str,"(\"%s\",%d,\"%s\")",workTypeStr,V_BinTypeStr2Num(popStr),winStr 
     639 
     640        Execute ("V_Middle_IQ_Graph"+str) 
     641                 
     642 
     643        // plot the results 
     644//      Execute "Middle_IQ_Graph()" 
     645 
     646 
    550647        MiddlePanels_AsQ() 
    551648         
     
    570667 
    571668        Variable xCtr,yCtr,sdd,lam,pixSizeX,pixSizeY,nPix_X,nPix_Y 
    572         Variable M_LR_sep,M_TB_sep,M_offset, M_sdd_setback 
     669        Variable M_L_sep,M_R_sep,M_T_sep,M_B_sep, M_sdd_setback 
    573670 
    574671 
     
    577674        String detStr="" 
    578675         
    579         M_LR_sep = VCALC_getPanelSeparation("MLR") 
    580         M_TB_sep = VCALC_getPanelSeparation("MTB") 
    581         M_offset = VCALC_getLateralOffset("ML") 
     676        M_L_sep = VCALC_getPanelTranslation("ML") 
     677        M_R_sep = VCALC_getPanelTranslation("MR") 
     678        M_T_sep = VCALC_getPanelTranslation("MT") 
     679        M_B_sep = VCALC_getPanelTranslation("MB") 
    582680         
    583681        SDD = VCALC_getSDD("ML")                //nominal SDD [cm] - need offset for TB 
     
    624722                yCtr = 0                        //values in cm 
    625723        else     
    626                 xCtr = nPix_X+(M_LR_sep/2/pixSizeX)             // TODO  -- check -- starting from 47 rather than 48 (but I'm in pixel units for centers)?? 
     724                xCtr = nPix_X+(M_L_sep/pixSizeX)                // TODO  -- check -- starting from 47 rather than 48 (but I'm in pixel units for centers)?? 
    627725                yCtr = nPix_Y/2  
    628726        endif            
     
    671769                yCtr = 0                        //values in cm 
    672770        else     
    673                 xCtr = -(M_LR_sep/2/pixSizeX)-1          
     771                xCtr = -(M_R_sep/pixSizeX)-1             
    674772                yCtr = nPix_Y/2  
    675773        endif    
     
    713811        else     
    714812                xCtr = nPix_X/2 
    715                 yCtr = -(M_TB_sep/2/pixSizeY)-1  
     813                yCtr = -(M_T_sep/pixSizeY)-1  
    716814        endif 
    717815                 
     
    755853        else     
    756854                xCtr = nPix_X/2 
    757                 yCtr = nPix_Y+(M_TB_sep/2/pixSizeY)             // TODO  -- check -- starting from 47 rather than 48 (but I'm in pixel units for centers)??  
     855                yCtr = nPix_Y+(M_B_sep/pixSizeY)                // TODO  -- check -- starting from 47 rather than 48 (but I'm in pixel units for centers)??  
    758856        endif            
    759857 
     
    846944// the results are in iBin_qxqy, qBin_qxqy, and eBin_qxqy, in the folder passed 
    847945//  
    848 Proc BinAllMiddlePanels() 
     946Function BinAllMiddlePanels() 
    849947 
    850948        SetDeltaQ("VCALC","ML") 
     
    857955        binType = V_Value               // V_value counts menu items from 1, so 1=1, 2=2, 3=4 
    858956 
    859         if(binType == 1) 
    860                 VC_BinQxQy_to_1D("VCALC","ML") 
    861                 VC_BinQxQy_to_1D("VCALC","MR") 
    862                 VC_BinQxQy_to_1D("VCALC","MT") 
    863                 VC_BinQxQy_to_1D("VCALC","MB") 
    864         endif 
    865          
    866         if(binType == 2)         
    867                 VC_BinQxQy_to_1D("VCALC","MLR") 
    868                 VC_BinQxQy_to_1D("VCALC","MTB") 
    869         endif 
    870  
    871         if(binType == 3) 
    872                 VC_BinQxQy_to_1D("VCALC","MLRTB") 
    873         endif 
    874          
    875         // TODO -- this is only a temporary fix for slit mode    
    876         if(binType == 4) 
    877                 /// this is for a tall, narrow slit mode         
    878                 VC_fBinDetector_byRows("VCALC","ML") 
    879                 VC_fBinDetector_byRows("VCALC","MR") 
    880                 VC_fBinDetector_byRows("VCALC","MT") 
    881                 VC_fBinDetector_byRows("VCALC","MB") 
    882         endif 
     957        String folderStr = "VCALC" 
     958 
     959        switch(binType) 
     960                case 1: 
     961//                      VC_fDoBinning_QxQy2D(folderStr,"FL") 
     962//                      VC_fDoBinning_QxQy2D(folderStr,"FR") 
     963//                      VC_fDoBinning_QxQy2D(folderStr,"FT") 
     964//                      VC_fDoBinning_QxQy2D(folderStr,"FB") 
     965                        VC_fDoBinning_QxQy2D(folderStr,"ML") 
     966                        VC_fDoBinning_QxQy2D(folderStr,"MR") 
     967                        VC_fDoBinning_QxQy2D(folderStr,"MT") 
     968                        VC_fDoBinning_QxQy2D(folderStr,"MB")                     
     969//                      VC_fDoBinning_QxQy2D(folderStr, "B")             
     970 
     971                        break 
     972                case 2: 
     973//                      VC_fDoBinning_QxQy2D(folderStr,"FLR") 
     974//                      VC_fDoBinning_QxQy2D(folderStr,"FTB") 
     975                        VC_fDoBinning_QxQy2D(folderStr,"MLR") 
     976                        VC_fDoBinning_QxQy2D(folderStr,"MTB") 
     977//                      VC_fDoBinning_QxQy2D(folderStr, "B")             
     978 
     979                        break 
     980                case 3: 
     981                        VC_fDoBinning_QxQy2D(folderStr,"MLRTB") 
     982//                      VC_fDoBinning_QxQy2D(folderStr,"FLRTB") 
     983//                      VC_fDoBinning_QxQy2D(folderStr, "B")             
     984                         
     985                        break 
     986                case 4:                         /// this is for a tall, narrow slit mode         
     987//                      VC_fBinDetector_byRows(folderStr,"FL") 
     988//                      VC_fBinDetector_byRows(folderStr,"FR") 
     989                        VC_fBinDetector_byRows(folderStr,"ML") 
     990                        VC_fBinDetector_byRows(folderStr,"MR") 
     991//                      VC_fBinDetector_byRows(folderStr,"B") 
     992 
     993                        break 
     994                case 5: 
     995//                      VC_fDoBinning_QxQy2D(folderStr,"FTB") 
     996//                      VC_fDoBinning_QxQy2D(folderStr,"FLR") 
     997                        VC_fDoBinning_QxQy2D(folderStr,"MLRTB") 
     998//                      VC_fDoBinning_QxQy2D(folderStr, "B")             
     999                 
     1000                        break 
     1001                case 6: 
     1002//                      VC_fDoBinning_QxQy2D(folderStr,"FLRTB") 
     1003                        VC_fDoBinning_QxQy2D(folderStr,"MLR") 
     1004//                      VC_fDoBinning_QxQy2D(folderStr, "B")             
     1005                 
     1006                        break 
     1007                case 7: 
     1008//                      VC_fDoBinning_QxQy2D(folderStr,"FTB") 
     1009//                      VC_fDoBinning_QxQy2D(folderStr,"FLR") 
     1010                        VC_fDoBinning_QxQy2D(folderStr,"MLR") 
     1011//                      VC_fDoBinning_QxQy2D(folderStr, "B")             
     1012                 
     1013                        break 
     1014                         
     1015                default: 
     1016                        Abort "Binning mode not found in BinAllFrontPanels "// when no case matches      
     1017        endswitch 
     1018         
     1019 
     1020 
     1021//      if(binType == 1) 
     1022//              VC_BinQxQy_to_1D("VCALC","ML") 
     1023//              VC_BinQxQy_to_1D("VCALC","MR") 
     1024//              VC_BinQxQy_to_1D("VCALC","MT") 
     1025//              VC_BinQxQy_to_1D("VCALC","MB") 
     1026//      endif 
     1027//       
     1028//      if(binType == 2)         
     1029//              VC_BinQxQy_to_1D("VCALC","MLR") 
     1030//              VC_BinQxQy_to_1D("VCALC","MTB") 
     1031//      endif 
     1032// 
     1033//      if(binType == 3) 
     1034//              VC_BinQxQy_to_1D("VCALC","MLRTB") 
     1035//      endif 
     1036//       
     1037//      // TODO -- this is only a temporary fix for slit mode    
     1038//      if(binType == 4) 
     1039//              /// this is for a tall, narrow slit mode         
     1040//              VC_fBinDetector_byRows("VCALC","ML") 
     1041//              VC_fBinDetector_byRows("VCALC","MR") 
     1042//              VC_fBinDetector_byRows("VCALC","MT") 
     1043//              VC_fBinDetector_byRows("VCALC","MB") 
     1044//      endif 
    8831045End 
    8841046 
     
    10321194         
    10331195        // do the q-binning for each of the panels to get I(Q) 
    1034         Execute "BinAllBackPanels()" 
     1196        BinAllBackPanels() 
    10351197 
    10361198        // plot the results 
    1037         Execute "Back_IQ_Graph()" 
     1199        String type = "VCALC" 
     1200        String str,winStr="VCALC#Panels_IQ",workTypeStr,popStr 
     1201        workTypeStr = "root:Packages:NIST:VSANS:"+type 
     1202 
     1203        ControlInfo/W=VCALC popup_b 
     1204        popStr = S_Value                // 
     1205         
     1206        sprintf str,"(\"%s\",%d,\"%s\")",workTypeStr,V_BinTypeStr2Num(popStr),winStr 
     1207 
     1208        Execute ("V_Back_IQ_Graph"+str) 
     1209                 
     1210                 
     1211        // plot the results 
     1212//      Execute "Back_IQ_Graph()" 
     1213 
     1214 
     1215 
    10381216        Execute "BackPanels_AsQ()" 
    10391217 
     
    10651243        String detStr = "" 
    10661244         
    1067         B_offset = VCALC_getLateralOffset("B") 
     1245        ControlInfo/W=VCALC VCALCCtrl_4a 
     1246        B_offset = V_Value 
    10681247         
    10691248        SDD = VCALC_getSDD("B")         //nominal SDD - need offset for TB 
     
    11651344// the results are in iBin_qxqy, qBin_qxqy, and eBin_qxqy, in the folder passed 
    11661345//  
    1167 Proc BinAllBackPanels() 
     1346Function BinAllBackPanels() 
    11681347 
    11691348        SetDeltaQ("VCALC","B") 
     
    11721351        ControlInfo/W=VCALC popup_b 
    11731352        binType = V_Value               // V_value counts menu items from 1, so 1=1, 2=2, 3=4 
    1174          
    1175         VC_BinQxQy_to_1D("VCALC","B") 
    1176  
    1177 // TODO -- this is only a temporary fix for slit mode    
    1178         if(binType == 4) 
    1179                 /// this is for a tall, narrow slit mode         
    1180                 VC_fBinDetector_byRows("VCALC","B") 
    1181         endif    
     1353 
     1354        String folderStr = "VCALC" 
     1355 
     1356        switch(binType) 
     1357                case 1: 
     1358//                      VC_fDoBinning_QxQy2D(folderStr,"FL") 
     1359//                      VC_fDoBinning_QxQy2D(folderStr,"FR") 
     1360//                      VC_fDoBinning_QxQy2D(folderStr,"FT") 
     1361//                      VC_fDoBinning_QxQy2D(folderStr,"FB") 
     1362//                      VC_fDoBinning_QxQy2D(folderStr,"ML") 
     1363//                      VC_fDoBinning_QxQy2D(folderStr,"MR") 
     1364//                      VC_fDoBinning_QxQy2D(folderStr,"MT") 
     1365//                      VC_fDoBinning_QxQy2D(folderStr,"MB")                     
     1366                        VC_fDoBinning_QxQy2D(folderStr, "B")             
     1367 
     1368                        break 
     1369                case 2: 
     1370//                      VC_fDoBinning_QxQy2D(folderStr,"FLR") 
     1371//                      VC_fDoBinning_QxQy2D(folderStr,"FTB") 
     1372//                      VC_fDoBinning_QxQy2D(folderStr,"MLR") 
     1373//                      VC_fDoBinning_QxQy2D(folderStr,"MTB") 
     1374                        VC_fDoBinning_QxQy2D(folderStr, "B")             
     1375 
     1376                        break 
     1377                case 3: 
     1378//                      VC_fDoBinning_QxQy2D(folderStr,"MLRTB") 
     1379//                      VC_fDoBinning_QxQy2D(folderStr,"FLRTB") 
     1380                        VC_fDoBinning_QxQy2D(folderStr, "B")             
     1381                         
     1382                        break 
     1383                case 4:                         /// this is for a tall, narrow slit mode         
     1384//                      VC_fBinDetector_byRows(folderStr,"FL") 
     1385//                      VC_fBinDetector_byRows(folderStr,"FR") 
     1386//                      VC_fBinDetector_byRows(folderStr,"ML") 
     1387//                      VC_fBinDetector_byRows(folderStr,"MR") 
     1388                        VC_fBinDetector_byRows(folderStr,"B") 
     1389 
     1390                        break 
     1391                case 5: 
     1392//                      VC_fDoBinning_QxQy2D(folderStr,"FTB") 
     1393//                      VC_fDoBinning_QxQy2D(folderStr,"FLR") 
     1394//                      VC_fDoBinning_QxQy2D(folderStr,"MLRTB") 
     1395                        VC_fDoBinning_QxQy2D(folderStr, "B")             
     1396                 
     1397                        break 
     1398                case 6: 
     1399//                      VC_fDoBinning_QxQy2D(folderStr,"FLRTB") 
     1400//                      VC_fDoBinning_QxQy2D(folderStr,"MLR") 
     1401                        VC_fDoBinning_QxQy2D(folderStr, "B")             
     1402                 
     1403                        break 
     1404                case 7: 
     1405//                      VC_fDoBinning_QxQy2D(folderStr,"FTB") 
     1406//                      VC_fDoBinning_QxQy2D(folderStr,"FLR") 
     1407//                      VC_fDoBinning_QxQy2D(folderStr,"MLR") 
     1408                        VC_fDoBinning_QxQy2D(folderStr, "B")             
     1409                 
     1410                        break 
     1411                         
     1412                default: 
     1413                        Abort "Binning mode not found in BinAllFrontPanels "// when no case matches      
     1414        endswitch 
     1415                 
     1416//      VC_BinQxQy_to_1D("VCALC","B") 
     1417// 
     1418//// TODO -- this is only a temporary fix for slit mode  
     1419//      if(binType == 4) 
     1420//              /// this is for a tall, narrow slit mode         
     1421//              VC_fBinDetector_byRows("VCALC","B") 
     1422//      endif    
    11821423         
    11831424End 
     
    13811622        Variable ii 
    13821623         
    1383         for(ii=0;ii<ItemsInList(ksWorkFolderListShort);ii+=1) 
    1384                 fldr = StringFromList(ii, ksWorkFolderListShort, ";") 
     1624        String folderList_plus = ksWorkFolderListShort+";VCALC" 
     1625         
     1626        for(ii=0;ii<ItemsInList(folderList_plus);ii+=1) 
     1627                fldr = StringFromList(ii, folderList_plus, ";") 
    13851628                ClearIQIfDisplayed(fldr,type,winNameStr) 
    13861629        endfor 
Note: See TracChangeset for help on using the changeset viewer.