Changeset 1081 for sans/Dev/trunk
- Timestamp:
- Feb 2, 2018 8:26:07 AM (5 years ago)
- Location:
- sans/Dev/trunk/NCNR_User_Procedures/Reduction
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
sans/Dev/trunk/NCNR_User_Procedures/Reduction/SANS/NCNR_Utils.ipf
r1017 r1081 96 96 Function/S getResolution(inQ,lambda,lambdaWidth,DDet,apOff,S1,S2,L1,L2,BS,del_r,usingLenses,SigmaQ,QBar,fSubS) 97 97 Variable inQ, lambda, lambdaWidth, DDet, apOff, S1, S2, L1, L2, BS, del_r,usingLenses 98 Variable & fSubS, &QBar, &SigmaQ//these are the output quantities at the input Q value98 Variable &SigmaQ, &QBar, &fSubS //these are the output quantities at the input Q value 99 99 100 100 //lots of calculation variables -
sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/VC_DetectorBinning_Q.ipf
r1063 r1081 95 95 96 96 // do the q-binning for each of the panels to get I(Q) 97 Execute "BinAllFrontPanels()" 97 BinAllFrontPanels() 98 98 99 99 100 // 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 101 114 FrontPanels_AsQ() 102 115 … … 125 138 126 139 Variable xCtr,yCtr,sdd,lam,pixSizeX,pixSizeY,nPix_X,nPix_Y 127 Variable F_L R_sep,F_TB_sep,F_offset,F_sdd_setback140 Variable F_L_sep,F_R_sep,F_T_sep,F_B_sep,F_sdd_setback 128 141 129 142 String folderPath = "root:Packages:NIST:VSANS:VCALC" … … 132 145 133 146 // 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") 137 151 138 152 SDD = VCALC_getSDD("FL") //nominal SDD [cm] - need offset for TB … … 182 196 yCtr = 0 //values in cm 183 197 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)?? 185 199 yCtr = nPix_Y/2 186 200 endif … … 225 239 yCtr = 0 //values in cm 226 240 else 227 xCtr = -(F_ LR_sep/2/pixSizeX)-1241 xCtr = -(F_R_sep/pixSizeX)-1 228 242 yCtr = nPix_Y/2 229 243 endif … … 265 279 else 266 280 xCtr = nPix_X/2 267 yCtr = -(F_T B_sep/2/pixSizeY)-1281 yCtr = -(F_T_sep/2/pixSizeY)-1 268 282 endif 269 283 … … 306 320 else 307 321 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)?? 309 323 endif 310 324 … … 335 349 String folderStr,type 336 350 337 Variable L R_sep,nPix,xCtr,ii,jj,numCol,pixSizeX,pixSizeY,nPix_X,nPix_Y351 Variable L_sep,R_sep,nPix_L,nPix_R,xCtr,ii,jj,numCol,pixSizeX,pixSizeY,nPix_X,nPix_Y 338 352 339 353 /// !! 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 //front342 ControlInfo/W=VCALC VCALCCtrl_2a343 LR_sep = V_Value354 // 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") 344 358 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 351 363 352 364 //detector data … … 365 377 //TODO -- get this from a global 366 378 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 368 381 369 382 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) 371 384 det[ii][] = NaN 372 385 endfor 373 for(ii=(xCtr+nPix +6);ii<numCol;ii+=1)386 for(ii=(xCtr+nPix_R+6);ii<numCol;ii+=1) 374 387 det[ii][] = NaN 375 388 endfor … … 446 459 // the results are in iBin_qxqy, qBin_qxqy, and eBin_qxqy, in the folder passed 447 460 // 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 // 467 Function BinAllFrontPanels() 449 468 450 469 SetDeltaQ("VCALC","FL") … … 457 476 binType = V_Value // V_value counts menu items from 1, so 1=1, 2=2, 3=4 458 477 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 483 565 484 566 End … … 544 626 545 627 // do the q-binning for each of the panels to get I(Q) 546 Execute "BinAllMiddlePanels()"628 BinAllMiddlePanels() 547 629 548 630 // 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 550 647 MiddlePanels_AsQ() 551 648 … … 570 667 571 668 Variable xCtr,yCtr,sdd,lam,pixSizeX,pixSizeY,nPix_X,nPix_Y 572 Variable M_L R_sep,M_TB_sep,M_offset, M_sdd_setback669 Variable M_L_sep,M_R_sep,M_T_sep,M_B_sep, M_sdd_setback 573 670 574 671 … … 577 674 String detStr="" 578 675 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") 582 680 583 681 SDD = VCALC_getSDD("ML") //nominal SDD [cm] - need offset for TB … … 624 722 yCtr = 0 //values in cm 625 723 else 626 xCtr = nPix_X+(M_L R_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)?? 627 725 yCtr = nPix_Y/2 628 726 endif … … 671 769 yCtr = 0 //values in cm 672 770 else 673 xCtr = -(M_ LR_sep/2/pixSizeX)-1771 xCtr = -(M_R_sep/pixSizeX)-1 674 772 yCtr = nPix_Y/2 675 773 endif … … 713 811 else 714 812 xCtr = nPix_X/2 715 yCtr = -(M_T B_sep/2/pixSizeY)-1813 yCtr = -(M_T_sep/pixSizeY)-1 716 814 endif 717 815 … … 755 853 else 756 854 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)?? 758 856 endif 759 857 … … 846 944 // the results are in iBin_qxqy, qBin_qxqy, and eBin_qxqy, in the folder passed 847 945 // 848 ProcBinAllMiddlePanels()946 Function BinAllMiddlePanels() 849 947 850 948 SetDeltaQ("VCALC","ML") … … 857 955 binType = V_Value // V_value counts menu items from 1, so 1=1, 2=2, 3=4 858 956 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 883 1045 End 884 1046 … … 1032 1194 1033 1195 // do the q-binning for each of the panels to get I(Q) 1034 Execute "BinAllBackPanels()"1196 BinAllBackPanels() 1035 1197 1036 1198 // 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 1038 1216 Execute "BackPanels_AsQ()" 1039 1217 … … 1065 1243 String detStr = "" 1066 1244 1067 B_offset = VCALC_getLateralOffset("B") 1245 ControlInfo/W=VCALC VCALCCtrl_4a 1246 B_offset = V_Value 1068 1247 1069 1248 SDD = VCALC_getSDD("B") //nominal SDD - need offset for TB … … 1165 1344 // the results are in iBin_qxqy, qBin_qxqy, and eBin_qxqy, in the folder passed 1166 1345 // 1167 ProcBinAllBackPanels()1346 Function BinAllBackPanels() 1168 1347 1169 1348 SetDeltaQ("VCALC","B") … … 1172 1351 ControlInfo/W=VCALC popup_b 1173 1352 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 1182 1423 1183 1424 End … … 1381 1622 Variable ii 1382 1623 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, ";") 1385 1628 ClearIQIfDisplayed(fldr,type,winNameStr) 1386 1629 endfor -
sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/VC_FrontView_Deg.ipf
r1062 r1081 36 36 37 37 // get the values from the panel 38 Variable F_L R_sep,F_TB_sep, F_SDD, F_offset39 Variable M_L R_sep,M_TB_sep, M_SDD, M_offset38 Variable F_L_sep,F_R_sep,F_T_sep, F_B_sep,F_SDD 39 Variable M_L_sep,M_R_sep,M_T_sep, M_B_sep, M_SDD 40 40 Variable B_SDD, B_offset 41 41 Variable axisRange … … 49 49 //front 50 50 ControlInfo/W=VCALC VCALCCtrl_2a 51 F_LR_sep = V_Value 51 F_L_sep = V_Value 52 ControlInfo/W=VCALC VCALCCtrl_2aa 53 F_R_sep = V_Value 52 54 ControlInfo/W=VCALC VCALCCtrl_2b 53 F_TB_sep = V_Value 54 ControlInfo/W=VCALC VCALCCtrl_2c 55 F_offset = V_Value 55 F_T_sep = V_Value 56 ControlInfo/W=VCALC VCALCCtrl_2bb 57 F_B_sep = V_Value 58 56 59 ControlInfo/W=VCALC VCALCCtrl_2d 57 60 F_SDD = V_Value … … 59 62 //middle 60 63 ControlInfo/W=VCALC VCALCCtrl_3a 61 M_LR_sep = V_Value 64 M_L_sep = V_Value 65 ControlInfo/W=VCALC VCALCCtrl_3aa 66 M_R_sep = V_Value 62 67 ControlInfo/W=VCALC VCALCCtrl_3b 63 M_TB_sep = V_Value 64 ControlInfo/W=VCALC VCALCCtrl_3c 65 M_offset = V_Value 68 M_T_sep = V_Value 69 ControlInfo/W=VCALC VCALCCtrl_3bb 70 M_B_sep = V_Value 71 66 72 ControlInfo/W=VCALC VCALCCtrl_3d 67 73 M_SDD = V_Value … … 115 121 tmp_x1 = -atan(M_TB_w/2/(M_SDD+middle_SDDsetback))*(180/pi) // x symmetric y is not 116 122 tmp_x2 = -tmp_x1 117 tmp_y1 = atan(M_T B_sep/2/(M_SDD+middle_SDDsetback))*(180/pi)118 tmp_y2 = atan((M_T B_sep/2+M_TB_h)/(M_SDD+middle_SDDsetback))*(180/pi)123 tmp_y1 = atan(M_T_sep/(M_SDD+middle_SDDsetback))*(180/pi) 124 tmp_y2 = atan((M_T_sep+M_TB_h)/(M_SDD+middle_SDDsetback))*(180/pi) 119 125 120 126 // Print tmp_x1,tmp_x2,tmp_y1,tmp_y2 … … 124 130 125 131 // BOTTOM (x unchanged, negate and swap y1,y2) 126 tmp_y1 = -atan((M_TB_sep/2+M_TB_h)/(M_SDD+middle_SDDsetback))*(180/pi)127 tmp_y2 = -atan(M_TB_sep/2/(M_SDD+middle_SDDsetback))*(180/pi)132 tmp_y1 = atan((M_B_sep-M_TB_h)/(M_SDD+middle_SDDsetback))*(180/pi) 133 tmp_y2 = atan(M_B_sep/(M_SDD+middle_SDDsetback))*(180/pi) 128 134 SetDrawEnv/W=VCALC#FrontView xcoord= bottom,ycoord= left,fillfgc= (1,16019,65535) 129 135 DrawRect/W=VCALC#FrontView tmp_x1,tmp_y2,tmp_x2,tmp_y1 130 136 131 137 // LEFT 132 tmp_x1 = -atan((M_LR_w+M_LR_sep/2)/(M_SDD))*(180/pi) // y symmetric x is not133 tmp_x2 = -atan((M_LR_sep/2)/(M_SDD))*(180/pi)138 tmp_x1 = atan((M_L_sep-M_LR_w)/(M_SDD))*(180/pi) // y symmetric x is not 139 tmp_x2 = atan((M_L_sep)/(M_SDD))*(180/pi) 134 140 tmp_y1 = atan(M_LR_h/2/(M_SDD))*(180/pi) 135 141 tmp_y2 = -tmp_y1 … … 137 143 DrawRect/W=VCALC#FrontView tmp_x1,tmp_y2,tmp_x2,tmp_y1 138 144 // RIGHT (x changes, y the same) 139 tmp_x1 = atan((M_ LR_sep/2)/(M_SDD))*(180/pi) // y symmetric x is not140 tmp_x2 = atan((M_LR_w+M_ LR_sep/2)/(M_SDD))*(180/pi)145 tmp_x1 = atan((M_R_sep)/(M_SDD))*(180/pi) // y symmetric x is not 146 tmp_x2 = atan((M_LR_w+M_R_sep)/(M_SDD))*(180/pi) 141 147 SetDrawEnv/W=VCALC#FrontView xcoord= bottom,ycoord= left,fillfgc= (65535,0,0) 142 148 DrawRect/W=VCALC#FrontView tmp_x1,tmp_y2,tmp_x2,tmp_y1 … … 150 156 tmp_x1 = -atan(F_TB_w/2/(F_SDD+front_SDDsetback))*(180/pi) // x symmetric y is not 151 157 tmp_x2 = -tmp_x1 152 tmp_y1 = atan(F_T B_sep/2/(F_SDD+front_SDDsetback))*(180/pi)153 tmp_y2 = atan((F_T B_sep/2+F_TB_h)/(F_SDD+front_SDDsetback))*(180/pi)158 tmp_y1 = atan(F_T_sep/(F_SDD+front_SDDsetback))*(180/pi) 159 tmp_y2 = atan((F_T_sep+F_TB_h)/(F_SDD+front_SDDsetback))*(180/pi) 154 160 155 161 // Print tmp_x1,tmp_x2,tmp_y1,tmp_y2 … … 159 165 160 166 // BOTTOM (x unchanged, negate and swap y1,y2) 161 tmp_y1 = -atan((F_TB_sep/2+F_TB_h)/(F_SDD+front_SDDsetback))*(180/pi)162 tmp_y2 = -atan(F_TB_sep/2/(F_SDD+front_SDDsetback))*(180/pi)167 tmp_y1 = atan((F_B_sep-F_TB_h)/(F_SDD+front_SDDsetback))*(180/pi) 168 tmp_y2 = atan(F_B_sep/(F_SDD+front_SDDsetback))*(180/pi) 163 169 SetDrawEnv/W=VCALC#FrontView xcoord= bottom,ycoord= left,fillfgc= (1,52428,26586) 164 170 DrawRect/W=VCALC#FrontView tmp_x1,tmp_y2,tmp_x2,tmp_y1 165 171 166 172 // LEFT 167 tmp_x1 = -atan((F_LR_w+F_LR_sep/2)/(F_SDD))*(180/pi) // y symmetric x is not168 tmp_x2 = -atan((F_LR_sep/2)/(F_SDD))*(180/pi)173 tmp_x1 = atan((F_L_sep-F_LR_w)/(F_SDD))*(180/pi) // y symmetric x is not 174 tmp_x2 = atan((F_L_sep)/(F_SDD))*(180/pi) 169 175 tmp_y1 = atan(F_LR_h/2/(F_SDD))*(180/pi) 170 176 tmp_y2 = -tmp_y1 … … 172 178 DrawRect/W=VCALC#FrontView tmp_x1,tmp_y2,tmp_x2,tmp_y1 173 179 // RIGHT (x changes, y the same) 174 tmp_x1 = atan((F_ LR_sep/2)/(F_SDD))*(180/pi) // y symmetric x is not175 tmp_x2 = atan((F_LR_w+F_ LR_sep/2)/(F_SDD))*(180/pi)180 tmp_x1 = atan((F_R_sep)/(F_SDD))*(180/pi) // y symmetric x is not 181 tmp_x2 = atan((F_LR_w+F_R_sep)/(F_SDD))*(180/pi) 176 182 SetDrawEnv/W=VCALC#FrontView xcoord= bottom,ycoord= left,fillfgc= (39321,26208,1) 177 183 DrawRect/W=VCALC#FrontView tmp_x1,tmp_y2,tmp_x2,tmp_y1 -
sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/VC_SideView.ipf
r1062 r1081 45 45 46 46 // TODO: 47 // -x account for the 30cm SDD offsetfor the T/B detectors. These are only seen in the side view.47 // -x account for the 41cm SDD setback for the T/B detectors. These are only seen in the side view. 48 48 // 49 49 Function UpdateSideView() … … 77 77 78 78 // get the values from the panel 79 Variable F_LR_sep,F_T B_sep, F_SDD, F_offset80 Variable M_LR_sep,M_T B_sep, M_SDD, M_offset79 Variable F_LR_sep,F_T_sep, F_B_sep ,F_SDD 80 Variable M_LR_sep,M_T_sep, M_B_sep, M_SDD 81 81 Variable B_SDD, B_offset 82 82 … … 84 84 85 85 //front 86 // ControlInfo VCALCCtrl_2a 87 // F_LR_sep = V_Value 86 // separations are [cm] translation from zero (center) position 88 87 ControlInfo VCALCCtrl_2b 89 F_T B_sep = V_Value90 ControlInfo VCALCCtrl_2 c91 F_ offset= V_Value88 F_T_sep = V_Value 89 ControlInfo VCALCCtrl_2bb 90 F_B_sep = V_Value 92 91 ControlInfo VCALCCtrl_2d 93 92 F_SDD = V_Value … … 97 96 // M_LR_sep = V_Value 98 97 ControlInfo VCALCCtrl_3b 99 M_T B_sep = V_Value100 ControlInfo VCALCCtrl_3 c101 M_ offset= V_Value98 M_T_sep = V_Value 99 ControlInfo VCALCCtrl_3bb 100 M_B_sep = V_Value 102 101 ControlInfo VCALCCtrl_3d 103 102 M_SDD = V_Value … … 118 117 FB_profileX = FT_profileX 119 118 120 FT_profileY[0] = F_T B_sep // separation in cm119 FT_profileY[0] = F_T_sep // edge closest to zero position [cm] 121 120 FT_profileY[1] = FT_profileY[0] + F_TB_h // add in height of T/B panel in cm 122 121 123 FB_profileY = -FT_profileY 122 FB_profileY[0] = F_B_sep 123 FB_profileY[1] = F_B_sep - F_TB_h // height of B panel, negative Y 124 124 125 125 //angles (not calculating anything, just connect the dots) … … 150 150 MB_profileX = MT_profileX 151 151 152 MT_profileY[0] = M_T B_sep // separation in cm152 MT_profileY[0] = M_T_sep // separation in cm 153 153 MT_profileY[1] = MT_profileY[0] + M_TB_h // add in height of T/B panel in cm 154 155 MB_profileY = -MT_profileY 154 155 MB_profileY[0] = M_B_sep 156 MB_profileY[1] = M_B_sep - M_TB_h // height of B panel, negative Y 156 157 157 158 //angles (not calculating anything, just connect the dots) … … 302 303 303 304 // get the values from the panel 304 Variable F_L R_sep,F_TB_sep, F_SDD, F_offset305 Variable M_L R_sep,M_TB_sep, M_SDD, M_offset305 Variable F_L_sep,F_R_sep, F_TB_sep, F_SDD 306 Variable M_L_sep,M_R_sep, M_TB_sep, M_SDD 306 307 Variable B_SDD, B_offset 307 308 //front 308 309 ControlInfo VCALCCtrl_2a 309 F_LR_sep = V_Value 310 // ControlInfo VCALCCtrl_2b 311 // F_TB_sep = V_Value 312 ControlInfo VCALCCtrl_2c 313 F_offset = V_Value 310 F_L_sep = V_Value 311 ControlInfo VCALCCtrl_2aa 312 F_R_sep = V_Value 314 313 ControlInfo VCALCCtrl_2d 315 314 F_SDD = V_Value … … 317 316 //middle 318 317 ControlInfo VCALCCtrl_3a 319 M_LR_sep = V_Value 320 // ControlInfo VCALCCtrl_3b 321 // M_TB_sep = V_Value 322 ControlInfo VCALCCtrl_3c 323 M_offset = V_Value 318 M_L_sep = V_Value 319 ControlInfo VCALCCtrl_3aa 320 M_R_sep = V_Value 324 321 ControlInfo VCALCCtrl_3d 325 322 M_SDD = V_Value … … 340 337 FR_profileX = FL_profileX 341 338 342 FL_profileY[0] = F_LR_sep // separation in cm 343 FL_profileY[1] = FL_profileY[0] + F_LR_w // add in width of L/R panel in cm 344 345 FR_profileY = -FL_profileY 339 FL_profileY[0] = F_L_sep // translation from zero in cm 340 FL_profileY[1] = F_L_sep - F_LR_w // subtract width of L/R panel in cm 341 342 FR_profileY[0] = F_R_sep // translation from zero in cm 343 FR_profileY[1] = F_R_sep + F_LR_w // add width of L/R panel in cm 346 344 347 345 //angles (not calculating anything, just connect the dots) … … 372 370 MR_profileX = ML_profileX 373 371 374 ML_profileY[0] = M_LR_sep // separation in cm 375 ML_profileY[1] = ML_profileY[0] + M_LR_w // add in width of L/R panel in cm 376 377 MR_profileY = -ML_profileY 372 ML_profileY[0] = M_L_sep // translation in cm 373 ML_profileY[1] = M_L_sep - M_LR_w // subtract width of L/R panel in cm 374 375 MR_profileY[0] = M_R_sep // translation in cm 376 MR_profileY[1] = M_R_sep + M_LR_w // add width of L/R panel in cm 378 377 379 378 //angles (not calculating anything, just connect the dots) -
sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/VC_UtilityProcedures.ipf
r1062 r1081 63 63 64 64 // returns the panel separation [cm] 65 Function VCALC_getPanel Separation(type)65 Function VCALC_getPanelTranslation(type) 66 66 String type 67 67 … … 70 70 strswitch(type) 71 71 case "FL": 72 ControlInfo/W=VCALC VCALCCtrl_2a 73 sep = V_Value 74 break 72 75 case "FR": 73 case "FLR": 74 ControlInfo/W=VCALC VCALCCtrl_2a 76 ControlInfo/W=VCALC VCALCCtrl_2aa 75 77 sep = V_Value 76 78 break 77 79 case "FT": 78 case "FB":79 case "FTB":80 80 ControlInfo/W=VCALC VCALCCtrl_2b 81 81 sep = V_Value 82 82 break 83 case "FB": 84 ControlInfo/W=VCALC VCALCCtrl_2bb 85 sep = V_Value 86 break 83 87 84 88 case "ML": 89 ControlInfo/W=VCALC VCALCCtrl_3a 90 sep = V_Value 91 break 85 92 case "MR": 86 case "MLR": 87 ControlInfo/W=VCALC VCALCCtrl_3a 93 ControlInfo/W=VCALC VCALCCtrl_3aa 88 94 sep = V_Value 89 95 break 90 96 case "MT": 97 ControlInfo/W=VCALC VCALCCtrl_3b 98 sep = V_Value 99 break 91 100 case "MB": 92 case "MTB": 93 ControlInfo/W=VCALC VCALCCtrl_3b 101 ControlInfo/W=VCALC VCALCCtrl_3bb 94 102 sep = V_Value 95 103 break … … 107 115 end 108 116 109 // returns the lateral panel offset [cm] 110 Function VCALC_getLateralOffset(type) 111 String type 112 113 Variable offset 114 115 strswitch(type) 116 case "FL": 117 case "FR": 118 case "FLR": 119 case "FT": 120 case "FB": 121 case "FTB": 122 ControlInfo/W=VCALC VCALCCtrl_2c 123 offset = V_Value 124 break 125 126 case "ML": 127 case "MR": 128 case "MLR": 129 case "MT": 130 case "MB": 131 case "MTB": 132 ControlInfo/W=VCALC VCALCCtrl_3c 133 offset = V_Value 134 break 135 136 case "B": 137 ControlInfo/W=VCALC VCALCCtrl_4a 138 offset = V_Value 139 break 140 141 default: 142 Print "Error -- type not found in VCALC_getLateralOffset(type)" 143 offset = NaN //no match for type 144 endswitch 145 146 return(offset) 147 end 117 148 118 149 119 // returns the (mean) wavelength from the panel -- value is angstroms -
sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/VC_VCALCPanel_MockUp.ipf
r1062 r1081 73 73 74 74 PopupMenu popup_b,pos={690,310},size={142,20},title="Binning type",proc=VC_RebinIQ_PopProc 75 PopupMenu popup_b,mode=1, popvalue="One",value= root:Packages:NIST:VSANS:VCALC:gBinTypeStr75 PopupMenu popup_b,mode=1,value= root:Packages:NIST:VSANS:VCALC:gBinTypeStr 76 76 77 77 SetVariable setVar_a,pos={476,26},size={120,15},title="axis degrees",proc=FrontView_Range_SetVarProc … … 139 139 140 140 141 // all controls are named VCALCCtrl_NA where N is the tab number and A is the letter denoting141 // all controls are named VCALCCtrl_NA where N is the tab number and A is the letter indexing items on tab 142 142 143 143 … … 166 166 167 167 // tab(2) - Front detector panels, initially not visible 168 SetVariable VCALCCtrl_2a,pos={30,260},size={150,15},title="L/R Separation (cm)",proc=VC_FDet_LR_SetVarProc 169 SetVariable VCALCCtrl_2a,limits={0,40,1},disable=1,value=_NUM:20 170 SetVariable VCALCCtrl_2b,pos={30,290},size={150,15},title="T/B Separation (cm)",proc=VC_FDet_LR_SetVarProc 171 SetVariable VCALCCtrl_2b,limits={0,40,1},disable=1,value=_NUM:20 172 // SetVariable VCALCCtrl_2c,pos={205,290},size={150,15},title="Lateral Offset (cm)" 173 // SetVariable VCALCCtrl_2c,limits={0,20,0.1},disable=1,value=_NUM:0 168 SetVariable VCALCCtrl_2a,pos={30,260},size={150,15},title="LEFT Offset (cm)",proc=VC_FDet_LR_SetVarProc 169 SetVariable VCALCCtrl_2a,limits={-20,19,0.1},disable=1,value=_NUM:-10 170 SetVariable VCALCCtrl_2aa,pos={30,290},size={150,15},title="RIGHT Offset (cm)",proc=VC_FDet_LR_SetVarProc 171 SetVariable VCALCCtrl_2aa,limits={-19,20,0.1},disable=1,value=_NUM:10 172 173 SetVariable VCALCCtrl_2b,pos={30,330},size={150,15},title="TOP Offset (cm)",proc=VC_FDet_LR_SetVarProc 174 SetVariable VCALCCtrl_2b,limits={0,18,0.1},disable=1,value=_NUM:10 175 SetVariable VCALCCtrl_2bb,pos={30,360},size={150,15},title="BOTTOM Offset (cm)",proc=VC_FDet_LR_SetVarProc 176 SetVariable VCALCCtrl_2bb,limits={-18,0,0.1},disable=1,value=_NUM:-10 177 174 178 SetVariable VCALCCtrl_2d,pos={205,260},size={230,15},title="Sample to Detector Distance (cm)",proc=VC_FDet_SDD_SetVarProc 175 179 SetVariable VCALCCtrl_2d,limits={100,800,1},disable=1 ,value=_NUM:150 … … 177 181 178 182 // tab(3) - Middle detector panels, initially not visible 179 SetVariable VCALCCtrl_3a,pos={30,260},size={150,15},title="L/R Separation (cm)",proc=VC_MDet_LR_SetVarProc 180 SetVariable VCALCCtrl_3a,limits={0,40.0,1},disable=1,value=_NUM:20 181 SetVariable VCALCCtrl_3b,pos={30,290},size={150,15},title="T/B Separation (cm)",proc=VC_MDet_LR_SetVarProc 182 SetVariable VCALCCtrl_3b,limits={0,40.0,1},disable=1,value=_NUM:20 183 // SetVariable VCALCCtrl_3c,pos={205,290},size={150,15},title="Lateral Offset (cm)" 184 // SetVariable VCALCCtrl_3c,limits={0,20,0.1},disable=1,value=_NUM:0 183 SetVariable VCALCCtrl_3a,pos={30,260},size={150,15},title="LEFT Offset (cm)",proc=VC_MDet_LR_SetVarProc 184 SetVariable VCALCCtrl_3a,limits={-20,19,0.1},disable=1,value=_NUM:-6 185 SetVariable VCALCCtrl_3aa,pos={30,290},size={150,15},title="RIGHT Offset (cm)",proc=VC_MDet_LR_SetVarProc 186 SetVariable VCALCCtrl_3aa,limits={-19,20,0.1},disable=1,value=_NUM:6 187 188 SetVariable VCALCCtrl_3b,pos={30,330},size={150,15},title="TOP Offset (cm)",proc=VC_MDet_LR_SetVarProc 189 SetVariable VCALCCtrl_3b,limits={0,18,0.1},disable=1,value=_NUM:6 190 SetVariable VCALCCtrl_3bb,pos={30,360},size={150,15},title="BOTTOM Offset (cm)",proc=VC_MDet_LR_SetVarProc 191 SetVariable VCALCCtrl_3bb,limits={-18,0,0.1},disable=1,value=_NUM:-6 192 185 193 SetVariable VCALCCtrl_3d,pos={205,260},size={230,15},title="Sample to Detector Distance (cm)",proc=VC_MDet_SDD_SetVarProc 186 194 SetVariable VCALCCtrl_3d,limits={800,2000,1},disable=1,value=_NUM:1500 195 187 196 188 197 // tab(4) - Back detector panel … … 312 321 // just rebin 313 322 // 323 // this is for the VCALC 1-D plot subwindow only. so it is set up to 324 // operate on that window - but uses the same binning and plotting routines 325 // as the regualr VSANS data display 326 // 314 327 Function VC_RebinIQ_PopProc(ctrlName,popNum,popStr) : PopupMenuControl 315 328 String ctrlName … … 317 330 String popStr // contents of current popup item as string 318 331 319 // do the q-binning for front panels to get I(Q) 320 Execute "BinAllFrontPanels()" 321 Execute "Front_IQ_Graph()" 322 323 // do the q-binning for middle panels to get I(Q) 324 Execute "BinAllMiddlePanels()" 325 Execute "Middle_IQ_Graph()" 326 327 // do the q-binning for the back panel to get I(Q) 328 Execute "BinAllBackPanels()" 329 Execute "Back_IQ_Graph()" 330 332 333 String type = "VCALC" 334 String str,winStr="VCALC#Panels_IQ",workTypeStr 335 workTypeStr = "root:Packages:NIST:VSANS:"+type 336 337 // dispatch based on the string, not on the number of selection in the pop string 338 V_QBinAllPanels_Circular(type,V_BinTypeStr2Num(popStr)) 339 340 sprintf str,"(\"%s\",%d,\"%s\")",workTypeStr,V_BinTypeStr2Num(popStr),winStr 341 342 Execute ("V_Back_IQ_Graph"+str) 343 Execute ("V_Middle_IQ_Graph"+str) 344 Execute ("V_Front_IQ_Graph"+str) 345 346 // OLD - do not use 347 // // do the q-binning for front panels to get I(Q) 348 // Execute "BinAllFrontPanels()" 349 // Execute "Front_IQ_Graph()" 350 // 351 // // do the q-binning for middle panels to get I(Q) 352 // Execute "BinAllMiddlePanels()" 353 // Execute "Middle_IQ_Graph()" 354 // 355 // // do the q-binning for the back panel to get I(Q) 356 // Execute "BinAllBackPanels()" 357 // Execute "Back_IQ_Graph()" 358 // 331 359 return(0) 332 360 End … … 560 588 String sval = sva.sval 561 589 562 Variable LR_sep,TB_sep563 // don't know if LR or TB called, so get the explicit values564 //565 ControlInfo VCALCCtrl_2a566 LR_sep = V_Value567 ControlInfo VCALCCtrl_2b568 TB_sep = V_Value569 590 // Variable LR_sep,TB_sep 591 // // don't know if LR or TB called, so get the explicit values 592 // // 593 // ControlInfo VCALCCtrl_2a 594 // LR_sep = V_Value 595 // ControlInfo VCALCCtrl_2b 596 // TB_sep = V_Value 597 // 570 598 // UpdateFrontDetector(LR_sep,TB_sep) 571 599 … … 598 626 String sval = sva.sval 599 627 600 Variable LR_sep,TB_sep601 // don't know if LR or TB called, so get the explicit values602 //603 ControlInfo VCALCCtrl_3a604 LR_sep = V_Value605 ControlInfo VCALCCtrl_3b606 TB_sep = V_Value628 // Variable LR_sep,TB_sep 629 // // don't know if LR or TB called, so get the explicit values 630 // // 631 // ControlInfo VCALCCtrl_3a 632 // LR_sep = V_Value 633 // ControlInfo VCALCCtrl_3b 634 // TB_sep = V_Value 607 635 608 636 // UpdateMiddleDetector(LR_sep,TB_sep) … … 697 725 Make/O/D/N=1 :entry:instrument:detector_FB:y_pixel_size = 0.84 698 726 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) 708 727 709 728 // number of pixels in each bank (this can be modified at acquisition time, so it must be adjustable here) 710 729 Make/O/D/N=1 :entry:instrument:detector_FL:pixel_num_x = 48 // == number of tubes … … 717 736 Make/O/D/N=1 :entry:instrument:detector_FB:pixel_num_y = 48 // == number of tubes 718 737 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 738 727 739 728 740 // pixel beam center - HDF style … … 761 773 Make/O/D/N=1 :entry:instrument:detector_MB:y_pixel_size = 0.84 762 774 763 // Variable/G gMiddle_L_pixelX = 0.84 // (cm) these tubes are vertical 764 // Variable/G gMiddle_L_pixelY = 0.8 // (cm) 765 // Variable/G gMiddle_R_pixelX = 0.84 // (cm) 766 // Variable/G gMiddle_R_pixelY = 0.8 // (cm) 767 // 768 // Variable/G gMiddle_T_pixelX = 0.4 // (cm) these tubes are horizontal 769 // Variable/G gMiddle_T_pixelY = 0.84 // (cm) 770 // Variable/G gMiddle_B_pixelX = 0.4 // (cm) 771 // Variable/G gMiddle_B_pixelY = 0.84 // (cm) 775 772 776 773 777 // number of pixels in each bank (this can be modified at acquisition time, so it must be adjustable here) … … 781 785 Make/O/D/N=1 :entry:instrument:detector_MB:pixel_num_y = 48 // == number of tubes 782 786 783 // Variable/G gMiddle_L_nPix_X = 48 // == number of tubes 784 // Variable/G gMiddle_L_nPix_Y = 128 // == pixels in vertical direction (was 256, John says likely will run @ 128 9/2015) 785 // Variable/G gMiddle_R_nPix_X = 48 // == number of tubes 786 // Variable/G gMiddle_R_nPix_Y = 128 // == pixels in vertical direction 787 // Variable/G gMiddle_T_nPix_X = 128 // == pixels in horizontal direction 788 // Variable/G gMiddle_T_nPix_Y = 48 // == number of tubes 789 // Variable/G gMiddle_B_nPix_X = 128 // == pixels in horizontal direction 790 // Variable/G gMiddle_B_nPix_Y = 48 // == number of tubes 787 791 788 792 789 // pixel beam center - HDF style … … 809 806 Make/O/D/N=1 :entry:instrument:detector_B:x_pixel_size = 0.1 // 1 mm resolution (units of cm here) 810 807 Make/O/D/N=1 :entry:instrument:detector_B:y_pixel_size = 0.1 811 // Variable/G gBack_pixelX = 0.1 812 // Variable/G gBack_pixelY = 0.1 808 813 809 814 810 Make/O/D/N=1 :entry:instrument:detector_B:pixel_num_x = 150 // detector pixels in x-direction 815 811 Make/O/D/N=1 :entry:instrument:detector_B:pixel_num_y = 150 816 // Variable/G gBack_nPix_X = 150 817 // Variable/G gBack_nPix_Y = 150 812 818 813 819 814 // pixel beam center - HDF style -
sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_DataPlotting.ipf
r1074 r1081 482 482 AppendToGraph/W=$winNameStr iBin_qxqy_MT vs qBin_qxqy_MT 483 483 AppendToGraph/W=$winNameStr iBin_qxqy_MB vs qBin_qxqy_MB 484 ErrorBars/T=0 iBin_qxqy_ML Y,wave=(:eBin_qxqy_ML,:eBin_qxqy_ML)485 ErrorBars/T=0 iBin_qxqy_MR Y,wave=(:eBin_qxqy_MR,:eBin_qxqy_MR)486 ErrorBars/T=0 iBin_qxqy_MT Y,wave=(:eBin_qxqy_MT,:eBin_qxqy_MT)487 ErrorBars/T=0 iBin_qxqy_MB Y,wave=(:eBin_qxqy_MB,:eBin_qxqy_MB)484 ErrorBars/T=0/W=$winNameStr iBin_qxqy_ML Y,wave=(:eBin_qxqy_ML,:eBin_qxqy_ML) 485 ErrorBars/T=0/W=$winNameStr iBin_qxqy_MR Y,wave=(:eBin_qxqy_MR,:eBin_qxqy_MR) 486 ErrorBars/T=0/W=$winNameStr iBin_qxqy_MT Y,wave=(:eBin_qxqy_MT,:eBin_qxqy_MT) 487 ErrorBars/T=0/W=$winNameStr iBin_qxqy_MB Y,wave=(:eBin_qxqy_MB,:eBin_qxqy_MB) 488 488 489 489 ModifyGraph/W=$winNameStr mode=4 … … 505 505 AppendtoGraph/W=$winNameStr iBin_qxqy_MLR vs qBin_qxqy_MLR 506 506 AppendToGraph/W=$winNameStr iBin_qxqy_MTB vs qBin_qxqy_MTB 507 ErrorBars/T=0 iBin_qxqy_MLR Y,wave=(:eBin_qxqy_MLR,:eBin_qxqy_MLR) 508 ErrorBars/T=0 iBin_qxqy_MTB Y,wave=(:eBin_qxqy_MTB,:eBin_qxqy_MTB)507 508 ErrorBars/T=0/W=$winNameStr iBin_qxqy_MTB Y,wave=(:eBin_qxqy_MTB,:eBin_qxqy_MTB) 509 509 510 510 ModifyGraph/W=$winNameStr mode=4 … … 529 529 if(V_flag==0) 530 530 AppendtoGraph/W=$winNameStr iBin_qxqy_MLRTB vs qBin_qxqy_MLRTB 531 ErrorBars/T=0 iBin_qxqy_MLRTB Y,wave=(:eBin_qxqy_MLRTB,:eBin_qxqy_MLRTB)531 ErrorBars/T=0/W=$winNameStr iBin_qxqy_MLRTB Y,wave=(:eBin_qxqy_MLRTB,:eBin_qxqy_MLRTB) 532 532 533 533 ModifyGraph/W=$winNameStr mode=4 … … 554 554 // AppendToGraph/W=$winNameStr iBin_qxqy_MT vs qBin_qxqy_MT 555 555 // AppendToGraph/W=$winNameStr iBin_qxqy_MB vs qBin_qxqy_MB 556 ErrorBars/T=0 iBin_qxqy_ML Y,wave=(:eBin_qxqy_ML,:eBin_qxqy_ML)557 ErrorBars/T=0 iBin_qxqy_MR Y,wave=(:eBin_qxqy_MR,:eBin_qxqy_MR)556 ErrorBars/T=0/W=$winNameStr iBin_qxqy_ML Y,wave=(:eBin_qxqy_ML,:eBin_qxqy_ML) 557 ErrorBars/T=0/W=$winNameStr iBin_qxqy_MR Y,wave=(:eBin_qxqy_MR,:eBin_qxqy_MR) 558 558 // ErrorBars/T=0 iBin_qxqy_MT Y,wave=(:eBin_qxqy_MT,:eBin_qxqy_MT) 559 559 // ErrorBars/T=0 iBin_qxqy_MB Y,wave=(:eBin_qxqy_MB,:eBin_qxqy_MB) … … 580 580 if(V_flag==0) 581 581 AppendtoGraph/W=$winNameStr iBin_qxqy_MLRTB vs qBin_qxqy_MLRTB 582 ErrorBars/T=0 iBin_qxqy_MLRTB Y,wave=(:eBin_qxqy_MLRTB,:eBin_qxqy_MLRTB)582 ErrorBars/T=0/W=$winNameStr iBin_qxqy_MLRTB Y,wave=(:eBin_qxqy_MLRTB,:eBin_qxqy_MLRTB) 583 583 584 584 ModifyGraph/W=$winNameStr mode=4 … … 602 602 if(V_flag==0) 603 603 AppendtoGraph/W=$winNameStr iBin_qxqy_MLR vs qBin_qxqy_MLR 604 ErrorBars/T=0 iBin_qxqy_MLR Y,wave=(:eBin_qxqy_MLR,:eBin_qxqy_MLR)604 ErrorBars/T=0/W=$winNameStr iBin_qxqy_MLR Y,wave=(:eBin_qxqy_MLR,:eBin_qxqy_MLR) 605 605 606 606 ModifyGraph/W=$winNameStr mode=4 … … 624 624 if(V_flag==0) 625 625 AppendtoGraph/W=$winNameStr iBin_qxqy_MLR vs qBin_qxqy_MLR 626 ErrorBars/T=0 iBin_qxqy_MLR Y,wave=(:eBin_qxqy_MLR,:eBin_qxqy_MLR)626 ErrorBars/T=0/W=$winNameStr iBin_qxqy_MLR Y,wave=(:eBin_qxqy_MLR,:eBin_qxqy_MLR) 627 627 628 628 ModifyGraph/W=$winNameStr mode=4 … … 683 683 AppendToGraph/W=$winNameStr iBin_qxqy_FT vs qBin_qxqy_FT 684 684 AppendToGraph/W=$winNameStr iBin_qxqy_FB vs qBin_qxqy_FB 685 ErrorBars/T=0 iBin_qxqy_FL Y,wave=(:eBin_qxqy_FL,:eBin_qxqy_FL)686 ErrorBars/T=0 iBin_qxqy_FR Y,wave=(:eBin_qxqy_FR,:eBin_qxqy_FR)687 ErrorBars/T=0 iBin_qxqy_FT Y,wave=(:eBin_qxqy_FT,:eBin_qxqy_FT)688 ErrorBars/T=0 iBin_qxqy_FB Y,wave=(:eBin_qxqy_FB,:eBin_qxqy_FB)685 ErrorBars/T=0/W=$winNameStr iBin_qxqy_FL Y,wave=(:eBin_qxqy_FL,:eBin_qxqy_FL) 686 ErrorBars/T=0/W=$winNameStr iBin_qxqy_FR Y,wave=(:eBin_qxqy_FR,:eBin_qxqy_FR) 687 ErrorBars/T=0/W=$winNameStr iBin_qxqy_FT Y,wave=(:eBin_qxqy_FT,:eBin_qxqy_FT) 688 ErrorBars/T=0/W=$winNameStr iBin_qxqy_FB Y,wave=(:eBin_qxqy_FB,:eBin_qxqy_FB) 689 689 690 690 ModifyGraph/W=$winNameStr mode=4 … … 709 709 AppendtoGraph/W=$winNameStr iBin_qxqy_FLR vs qBin_qxqy_FLR 710 710 AppendToGraph/W=$winNameStr iBin_qxqy_FTB vs qBin_qxqy_FTB 711 ErrorBars/T=0 iBin_qxqy_FLR Y,wave=(:eBin_qxqy_FLR,:eBin_qxqy_FLR)712 ErrorBars/T=0 iBin_qxqy_FTB Y,wave=(:eBin_qxqy_FTB,:eBin_qxqy_FTB)711 ErrorBars/T=0/W=$winNameStr iBin_qxqy_FLR Y,wave=(:eBin_qxqy_FLR,:eBin_qxqy_FLR) 712 ErrorBars/T=0/W=$winNameStr iBin_qxqy_FTB Y,wave=(:eBin_qxqy_FTB,:eBin_qxqy_FTB) 713 713 714 714 ModifyGraph/W=$winNameStr mode=4 … … 733 733 if(V_flag==0) 734 734 AppendtoGraph/W=$winNameStr iBin_qxqy_FLRTB vs qBin_qxqy_FLRTB 735 ErrorBars/T=0 iBin_qxqy_FLRTB Y,wave=(:eBin_qxqy_FLRTB,:eBin_qxqy_FLRTB)735 ErrorBars/T=0/W=$winNameStr iBin_qxqy_FLRTB Y,wave=(:eBin_qxqy_FLRTB,:eBin_qxqy_FLRTB) 736 736 737 737 ModifyGraph/W=$winNameStr mode=4 … … 758 758 // AppendToGraph/W=$winNameStr iBin_qxqy_FT vs qBin_qxqy_FT 759 759 // AppendToGraph/W=$winNameStr iBin_qxqy_FB vs qBin_qxqy_FB 760 ErrorBars/T=0 iBin_qxqy_FL Y,wave=(:eBin_qxqy_FL,:eBin_qxqy_FL)761 ErrorBars/T=0 iBin_qxqy_FR Y,wave=(:eBin_qxqy_FR,:eBin_qxqy_FR)760 ErrorBars/T=0/W=$winNameStr iBin_qxqy_FL Y,wave=(:eBin_qxqy_FL,:eBin_qxqy_FL) 761 ErrorBars/T=0/W=$winNameStr iBin_qxqy_FR Y,wave=(:eBin_qxqy_FR,:eBin_qxqy_FR) 762 762 // ErrorBars/T=0 iBin_qxqy_FT Y,wave=(:eBin_qxqy_FT,:eBin_qxqy_FT) 763 763 // ErrorBars/T=0 iBin_qxqy_FB Y,wave=(:eBin_qxqy_FB,:eBin_qxqy_FB) … … 785 785 AppendtoGraph/W=$winNameStr iBin_qxqy_FLR vs qBin_qxqy_FLR 786 786 AppendToGraph/W=$winNameStr iBin_qxqy_FTB vs qBin_qxqy_FTB 787 ErrorBars/T=0 iBin_qxqy_FLR Y,wave=(:eBin_qxqy_FLR,:eBin_qxqy_FLR)788 ErrorBars/T=0 iBin_qxqy_FTB Y,wave=(:eBin_qxqy_FTB,:eBin_qxqy_FTB)787 ErrorBars/T=0/W=$winNameStr iBin_qxqy_FLR Y,wave=(:eBin_qxqy_FLR,:eBin_qxqy_FLR) 788 ErrorBars/T=0/W=$winNameStr iBin_qxqy_FTB Y,wave=(:eBin_qxqy_FTB,:eBin_qxqy_FTB) 789 789 790 790 ModifyGraph/W=$winNameStr mode=4 … … 809 809 if(V_flag==0) 810 810 AppendtoGraph/W=$winNameStr iBin_qxqy_FLRTB vs qBin_qxqy_FLRTB 811 ErrorBars/T=0 iBin_qxqy_FLRTB Y,wave=(:eBin_qxqy_FLRTB,:eBin_qxqy_FLRTB)811 ErrorBars/T=0/W=$winNameStr iBin_qxqy_FLRTB Y,wave=(:eBin_qxqy_FLRTB,:eBin_qxqy_FLRTB) 812 812 813 813 ModifyGraph/W=$winNameStr mode=4 … … 832 832 AppendtoGraph/W=$winNameStr iBin_qxqy_FLR vs qBin_qxqy_FLR 833 833 AppendToGraph/W=$winNameStr iBin_qxqy_FTB vs qBin_qxqy_FTB 834 ErrorBars/T=0 iBin_qxqy_FLR Y,wave=(:eBin_qxqy_FLR,:eBin_qxqy_FLR)835 ErrorBars/T=0 iBin_qxqy_FTB Y,wave=(:eBin_qxqy_FTB,:eBin_qxqy_FTB)834 ErrorBars/T=0/W=$winNameStr iBin_qxqy_FLR Y,wave=(:eBin_qxqy_FLR,:eBin_qxqy_FLR) 835 ErrorBars/T=0/W=$winNameStr iBin_qxqy_FTB Y,wave=(:eBin_qxqy_FTB,:eBin_qxqy_FTB) 836 836 837 837 ModifyGraph/W=$winNameStr mode=4 … … 878 878 ClearIQIfDisplayed_AllFldr("B",winNameStr) 879 879 880 881 SetDataFolder $(fullPathToFolder) 882 883 // if(binType==1 || binType==2 || binType==3) 884 if(binType==1 || binType==2 || binType==3) 880 // skip everything if back detector is ignored 881 if(!root:Packages:NIST:VSANS:Globals:gIgnoreDetB) 885 882 886 883 SetDataFolder $(fullPathToFolder) 887 CheckDisplayed/W=$winNameStr iBin_qxqy_B 888 889 if(V_flag==0) 890 AppendtoGraph/W=$winNameStr iBin_qxqy_B vs qBin_qxqy_B 891 ErrorBars/T=0 iBin_qxqy_B Y,wave=(:eBin_qxqy_B,:eBin_qxqy_B) 892 ModifyGraph/W=$winNameStr mode(iBin_qxqy_B)=4 893 ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B)=(1,52428,52428) 894 ModifyGraph/W=$winNameStr grid=1 895 ModifyGraph/W=$winNameStr log=1 896 ModifyGraph/W=$winNameStr mirror=2 897 ModifyGraph/W=$winNameStr marker(iBin_qxqy_B)=19,msize(iBin_qxqy_B)=2 898 // ModifyGraph/W=$winNameStr msize(iBin_qxqy_B)=3,textMarker(iBin_qxqy_B)={"B","default",1,0,5,0.00,0.00} 899 884 885 if(binType==1 || binType==2 || binType==3) 886 887 SetDataFolder $(fullPathToFolder) 888 CheckDisplayed/W=$winNameStr iBin_qxqy_B 889 890 if(V_flag==0) 891 AppendtoGraph/W=$winNameStr iBin_qxqy_B vs qBin_qxqy_B 892 ErrorBars/T=0/W=$winNameStr iBin_qxqy_B Y,wave=(:eBin_qxqy_B,:eBin_qxqy_B) 893 ModifyGraph/W=$winNameStr mode(iBin_qxqy_B)=4 894 ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B)=(1,52428,52428) 895 ModifyGraph/W=$winNameStr grid=1 896 ModifyGraph/W=$winNameStr log=1 897 ModifyGraph/W=$winNameStr mirror=2 898 ModifyGraph/W=$winNameStr marker(iBin_qxqy_B)=19,msize(iBin_qxqy_B)=2 899 // ModifyGraph/W=$winNameStr msize(iBin_qxqy_B)=3,textMarker(iBin_qxqy_B)={"B","default",1,0,5,0.00,0.00} 900 endif 901 900 902 endif 901 902 endif903 904 //nothing different here since there is ony a single detector to display, but for the future...905 if(binType==4)906 907 SetDataFolder $(fullPathToFolder) // ClearIQIfDisplayed_AllFldr() resets to root:908 CheckDisplayed/W=$winNameStr iBin_qxqy_B909 910 if(V_flag==0)911 AppendtoGraph/W=$winNameStr iBin_qxqy_B vs qBin_qxqy_B912 ModifyGraph/W=$winNameStr mode(iBin_qxqy_B)=4913 ModifyGraph/W=$winNameStr marker(iBin_qxqy_B)=19914 ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B)=(1,52428,52428)915 ModifyGraph/W=$winNameStr msize(iBin_qxqy_B)=2916 ModifyGraph/W=$winNameStr grid=1917 ModifyGraph/W=$winNameStr log=1918 ModifyGraph/W=$winNameStr mirror=2903 904 //nothing different here since there is ony a single detector to display, but for the future... 905 if(binType==4) 906 907 SetDataFolder $(fullPathToFolder) // ClearIQIfDisplayed_AllFldr() resets to root: 908 CheckDisplayed/W=$winNameStr iBin_qxqy_B 909 910 if(V_flag==0) 911 AppendtoGraph/W=$winNameStr iBin_qxqy_B vs qBin_qxqy_B 912 ErrorBars/T=0/W=$winNameStr iBin_qxqy_B Y,wave=(:eBin_qxqy_B,:eBin_qxqy_B) 913 ModifyGraph/W=$winNameStr mode(iBin_qxqy_B)=4 914 ModifyGraph/W=$winNameStr marker(iBin_qxqy_B)=19 915 ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B)=(1,52428,52428) 916 ModifyGraph/W=$winNameStr msize(iBin_qxqy_B)=2 917 ModifyGraph/W=$winNameStr grid=1 918 ModifyGraph/W=$winNameStr log=1 919 ModifyGraph/W=$winNameStr mirror=2 920 endif 919 921 endif 920 endif921 922 if(binType==5 || binType==6 || binType==7)923 924 SetDataFolder $(fullPathToFolder)925 CheckDisplayed/W=$winNameStr iBin_qxqy_B926 927 if(V_flag==0)928 AppendtoGraph/W=$winNameStr iBin_qxqy_B vs qBin_qxqy_B929 ErrorBars/T=0 iBin_qxqy_B Y,wave=(:eBin_qxqy_B,:eBin_qxqy_B)930 ModifyGraph/W=$winNameStr mode(iBin_qxqy_B)=4931 ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B)=(1,52428,52428)932 ModifyGraph/W=$winNameStr grid=1933 ModifyGraph/W=$winNameStr log=1934 ModifyGraph/W=$winNameStr mirror=2935 ModifyGraph/W=$winNameStr marker(iBin_qxqy_B)=19,msize(iBin_qxqy_B)=2936 // ModifyGraph/W=$winNameStr msize(iBin_qxqy_B)=3,textMarker(iBin_qxqy_B)={"B","default",1,0,5,0.00,0.00} 937 922 923 if(binType==5 || binType==6 || binType==7) 924 925 SetDataFolder $(fullPathToFolder) 926 CheckDisplayed/W=$winNameStr iBin_qxqy_B 927 928 if(V_flag==0) 929 AppendtoGraph/W=$winNameStr iBin_qxqy_B vs qBin_qxqy_B 930 ErrorBars/T=0/W=$winNameStr iBin_qxqy_B Y,wave=(:eBin_qxqy_B,:eBin_qxqy_B) 931 ModifyGraph/W=$winNameStr mode(iBin_qxqy_B)=4 932 ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B)=(1,52428,52428) 933 ModifyGraph/W=$winNameStr grid=1 934 ModifyGraph/W=$winNameStr log=1 935 ModifyGraph/W=$winNameStr mirror=2 936 ModifyGraph/W=$winNameStr marker(iBin_qxqy_B)=19,msize(iBin_qxqy_B)=2 937 // ModifyGraph/W=$winNameStr msize(iBin_qxqy_B)=3,textMarker(iBin_qxqy_B)={"B","default",1,0,5,0.00,0.00} 938 endif 939 938 940 endif 939 940 endif 941 941 942 endif // if (don't ignore back detector) 942 943 943 944 SetDataFolder root: … … 964 965 ClearIQIfDisplayed_AllFldr("B_trim",winNameStr) 965 966 966 967 SetDataFolder $(fullPathToFolder) 968 969 if(binType==1 || binType==2 || binType==3) 967 // skip everything if back detector is ignored 968 if(!root:Packages:NIST:VSANS:Globals:gIgnoreDetB) 970 969 971 970 SetDataFolder $(fullPathToFolder) 972 CheckDisplayed/W=$winNameStr iBin_qxqy_B_trim 973 974 if(V_flag==0) 975 AppendtoGraph/W=$winNameStr iBin_qxqy_B_trim vs qBin_qxqy_B_trim 976 ErrorBars/T=0 iBin_qxqy_B_trim Y,wave=(:eBin_qxqy_B_trim,:eBin_qxqy_B_trim) 977 ModifyGraph/W=$winNameStr mode(iBin_qxqy_B_trim)=4 978 ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B_trim)=(1,52428,52428) 979 ModifyGraph/W=$winNameStr grid=1 980 ModifyGraph/W=$winNameStr log=1 981 ModifyGraph/W=$winNameStr mirror=2 982 ModifyGraph/W=$winNameStr marker(iBin_qxqy_B_trim)=19,msize(iBin_qxqy_B_trim)=3 983 // ModifyGraph/W=$winNameStr msize(iBin_qxqy_B_trim)=3,textMarker(iBin_qxqy_B_trim)={"B","default",1,0,5,0.00,0.00} 984 971 972 if(binType==1 || binType==2 || binType==3) 973 974 SetDataFolder $(fullPathToFolder) 975 CheckDisplayed/W=$winNameStr iBin_qxqy_B_trim 976 977 if(V_flag==0) 978 AppendtoGraph/W=$winNameStr iBin_qxqy_B_trim vs qBin_qxqy_B_trim 979 ErrorBars/T=0/W=$winNameStr iBin_qxqy_B_trim Y,wave=(:eBin_qxqy_B_trim,:eBin_qxqy_B_trim) 980 ModifyGraph/W=$winNameStr mode(iBin_qxqy_B_trim)=4 981 ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B_trim)=(1,52428,52428) 982 ModifyGraph/W=$winNameStr grid=1 983 ModifyGraph/W=$winNameStr log=1 984 ModifyGraph/W=$winNameStr mirror=2 985 ModifyGraph/W=$winNameStr marker(iBin_qxqy_B_trim)=19,msize(iBin_qxqy_B_trim)=3 986 // ModifyGraph/W=$winNameStr msize(iBin_qxqy_B_trim)=3,textMarker(iBin_qxqy_B_trim)={"B","default",1,0,5,0.00,0.00} 987 988 endif 989 985 990 endif 986 987 endif 988 989 //nothing different here since there is ony a single detector to display, but for the future... 990 if(binType==4) 991 991 992 //nothing different here since there is ony a single detector to display, but for the future... 993 if(binType==4) 994 995 SetDataFolder $(fullPathToFolder) 996 CheckDisplayed/W=$winNameStr iBin_qxqy_B_trim 997 998 if(V_flag==0) 999 AppendtoGraph/W=$winNameStr iBin_qxqy_B_trim vs qBin_qxqy_B_trim 1000 ErrorBars/T=0/W=$winNameStr iBin_qxqy_B_trim Y,wave=(:eBin_qxqy_B_trim,:eBin_qxqy_B_trim) 1001 ModifyGraph/W=$winNameStr mode(iBin_qxqy_B_trim)=4 1002 ModifyGraph/W=$winNameStr marker(iBin_qxqy_B_trim)=19 1003 ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B_trim)=(1,52428,52428) 1004 ModifyGraph/W=$winNameStr msize(iBin_qxqy_B_trim)=3 1005 ModifyGraph/W=$winNameStr grid=1 1006 ModifyGraph/W=$winNameStr log=1 1007 ModifyGraph/W=$winNameStr mirror=2 1008 endif 1009 endif 1010 1011 if(binType==5 || binType==6 || binType==7) 1012 992 1013 SetDataFolder $(fullPathToFolder) 993 CheckDisplayed/W=$winNameStr iBin_qxqy_B_trim 994 995 if(V_flag==0) 996 AppendtoGraph/W=$winNameStr iBin_qxqy_B_trim vs qBin_qxqy_B_trim 997 ModifyGraph/W=$winNameStr mode(iBin_qxqy_B_trim)=4 998 ModifyGraph/W=$winNameStr marker(iBin_qxqy_B_trim)=19 999 ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B_trim)=(1,52428,52428) 1000 ModifyGraph/W=$winNameStr msize(iBin_qxqy_B_trim)=3 1001 ModifyGraph/W=$winNameStr grid=1 1002 ModifyGraph/W=$winNameStr log=1 1003 ModifyGraph/W=$winNameStr mirror=2 1014 CheckDisplayed/W=$winNameStr iBin_qxqy_B_trim 1015 1016 if(V_flag==0) 1017 AppendtoGraph/W=$winNameStr iBin_qxqy_B_trim vs qBin_qxqy_B_trim 1018 ErrorBars/T=0/W=$winNameStr iBin_qxqy_B_trim Y,wave=(:eBin_qxqy_B_trim,:eBin_qxqy_B_trim) 1019 ModifyGraph/W=$winNameStr mode(iBin_qxqy_B_trim)=4 1020 ModifyGraph/W=$winNameStr marker(iBin_qxqy_B_trim)=19 1021 ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B_trim)=(1,52428,52428) 1022 ModifyGraph/W=$winNameStr msize(iBin_qxqy_B_trim)=3 1023 ModifyGraph/W=$winNameStr grid=1 1024 ModifyGraph/W=$winNameStr log=1 1025 ModifyGraph/W=$winNameStr mirror=2 1026 endif 1004 1027 endif 1005 endif 1006 1007 if(binType==5 || binType==6 || binType==7) 1008 1009 SetDataFolder $(fullPathToFolder) 1010 CheckDisplayed/W=$winNameStr iBin_qxqy_B_trim 1011 1012 if(V_flag==0) 1013 AppendtoGraph/W=$winNameStr iBin_qxqy_B_trim vs qBin_qxqy_B_trim 1014 ModifyGraph/W=$winNameStr mode(iBin_qxqy_B_trim)=4 1015 ModifyGraph/W=$winNameStr marker(iBin_qxqy_B_trim)=19 1016 ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B_trim)=(1,52428,52428) 1017 ModifyGraph/W=$winNameStr msize(iBin_qxqy_B_trim)=3 1018 ModifyGraph/W=$winNameStr grid=1 1019 ModifyGraph/W=$winNameStr log=1 1020 ModifyGraph/W=$winNameStr mirror=2 1021 endif 1022 endif 1028 1029 endif // if (don't ignore back detector) 1023 1030 1024 1031 SetDataFolder root: … … 1074 1081 AppendToGraph/W=$winNameStr iBin_qxqy_MT_trim vs qBin_qxqy_MT_trim 1075 1082 AppendToGraph/W=$winNameStr iBin_qxqy_MB_trim vs qBin_qxqy_MB_trim 1076 ErrorBars/T=0 iBin_qxqy_ML_trim Y,wave=(:eBin_qxqy_ML_trim,:eBin_qxqy_ML_trim)1077 ErrorBars/T=0 iBin_qxqy_MR_trim Y,wave=(:eBin_qxqy_MR_trim,:eBin_qxqy_MR_trim)1078 ErrorBars/T=0 iBin_qxqy_MT_trim Y,wave=(:eBin_qxqy_MT_trim,:eBin_qxqy_MT_trim)1079 ErrorBars/T=0 iBin_qxqy_MB_trim Y,wave=(:eBin_qxqy_MB_trim,:eBin_qxqy_MB_trim)1083 ErrorBars/T=0/W=$winNameStr iBin_qxqy_ML_trim Y,wave=(:eBin_qxqy_ML_trim,:eBin_qxqy_ML_trim) 1084 ErrorBars/T=0/W=$winNameStr iBin_qxqy_MR_trim Y,wave=(:eBin_qxqy_MR_trim,:eBin_qxqy_MR_trim) 1085 ErrorBars/T=0/W=$winNameStr iBin_qxqy_MT_trim Y,wave=(:eBin_qxqy_MT_trim,:eBin_qxqy_MT_trim) 1086 ErrorBars/T=0/W=$winNameStr iBin_qxqy_MB_trim Y,wave=(:eBin_qxqy_MB_trim,:eBin_qxqy_MB_trim) 1080 1087 1081 1088 ModifyGraph/W=$winNameStr mode(iBin_qxqy_ML_trim)=4 … … 1118 1125 AppendtoGraph/W=$winNameStr iBin_qxqy_MLR_trim vs qBin_qxqy_MLR_trim 1119 1126 AppendToGraph/W=$winNameStr iBin_qxqy_MTB_trim vs qBin_qxqy_MTB_trim 1120 ErrorBars/T=0 iBin_qxqy_MLR_trim Y,wave=(:eBin_qxqy_MLR_trim,:eBin_qxqy_MLR_trim)1121 ErrorBars/T=0 iBin_qxqy_MTB_trim Y,wave=(:eBin_qxqy_MTB_trim,:eBin_qxqy_MTB_trim)1127 ErrorBars/T=0/W=$winNameStr iBin_qxqy_MLR_trim Y,wave=(:eBin_qxqy_MLR_trim,:eBin_qxqy_MLR_trim) 1128 ErrorBars/T=0/W=$winNameStr iBin_qxqy_MTB_trim Y,wave=(:eBin_qxqy_MTB_trim,:eBin_qxqy_MTB_trim) 1122 1129 1123 1130 ModifyGraph/W=$winNameStr mode(iBin_qxqy_MLR_trim)=4 … … 1156 1163 if(V_flag==0) 1157 1164 AppendtoGraph/W=$winNameStr iBin_qxqy_MLRTB_trim vs qBin_qxqy_MLRTB_trim 1158 ErrorBars/T=0 iBin_qxqy_MLRTB_trim Y,wave=(:eBin_qxqy_MLRTB_trim,:eBin_qxqy_MLRTB_trim)1165 ErrorBars/T=0/W=$winNameStr iBin_qxqy_MLRTB_trim Y,wave=(:eBin_qxqy_MLRTB_trim,:eBin_qxqy_MLRTB_trim) 1159 1166 1160 1167 ModifyGraph/W=$winNameStr mode(iBin_qxqy_MLRTB_trim)=4 … … 1193 1200 // AppendToGraph/W=$winNameStr iBin_qxqy_MT_trim vs qBin_qxqy_MT_trim 1194 1201 // AppendToGraph/W=$winNameStr iBin_qxqy_MB_trim vs qBin_qxqy_MB_trim 1195 ErrorBars/T=0 iBin_qxqy_ML_trim Y,wave=(:eBin_qxqy_ML_trim,:eBin_qxqy_ML_trim)1196 ErrorBars/T=0 iBin_qxqy_MR_trim Y,wave=(:eBin_qxqy_MR_trim,:eBin_qxqy_MR_trim)1202 ErrorBars/T=0/W=$winNameStr iBin_qxqy_ML_trim Y,wave=(:eBin_qxqy_ML_trim,:eBin_qxqy_ML_trim) 1203 ErrorBars/T=0/W=$winNameStr iBin_qxqy_MR_trim Y,wave=(:eBin_qxqy_MR_trim,:eBin_qxqy_MR_trim) 1197 1204 // ErrorBars/T=0 iBin_qxqy_MT_trim Y,wave=(:eBin_qxqy_MT_trim,:eBin_qxqy_MT_trim) 1198 1205 // ErrorBars/T=0 iBin_qxqy_MB_trim Y,wave=(:eBin_qxqy_MB_trim,:eBin_qxqy_MB_trim) … … 1239 1246 if(V_flag==0) 1240 1247 AppendtoGraph/W=$winNameStr iBin_qxqy_MLRTB_trim vs qBin_qxqy_MLRTB_trim 1241 ErrorBars/T=0 iBin_qxqy_MLRTB_trim Y,wave=(:eBin_qxqy_MLRTB_trim,:eBin_qxqy_MLRTB_trim)1248 ErrorBars/T=0/W=$winNameStr iBin_qxqy_MLRTB_trim Y,wave=(:eBin_qxqy_MLRTB_trim,:eBin_qxqy_MLRTB_trim) 1242 1249 1243 1250 ModifyGraph/W=$winNameStr mode(iBin_qxqy_MLRTB_trim)=4 … … 1272 1279 if(V_flag==0) 1273 1280 AppendtoGraph/W=$winNameStr iBin_qxqy_MLR_trim vs qBin_qxqy_MLR_trim 1274 ErrorBars/T=0 iBin_qxqy_MLR_trim Y,wave=(:eBin_qxqy_MLR_trim,:eBin_qxqy_MLR_trim)1281 ErrorBars/T=0/W=$winNameStr iBin_qxqy_MLR_trim Y,wave=(:eBin_qxqy_MLR_trim,:eBin_qxqy_MLR_trim) 1275 1282 1276 1283 ModifyGraph/W=$winNameStr mode(iBin_qxqy_MLR_trim)=4 … … 1306 1313 if(V_flag==0) 1307 1314 AppendtoGraph/W=$winNameStr iBin_qxqy_MLR_trim vs qBin_qxqy_MLR_trim 1308 ErrorBars/T=0 iBin_qxqy_MLR_trim Y,wave=(:eBin_qxqy_MLR_trim,:eBin_qxqy_MLR_trim)1315 ErrorBars/T=0/W=$winNameStr iBin_qxqy_MLR_trim Y,wave=(:eBin_qxqy_MLR_trim,:eBin_qxqy_MLR_trim) 1309 1316 1310 1317 ModifyGraph/W=$winNameStr mode(iBin_qxqy_MLR_trim)=4 … … 1365 1372 AppendToGraph/W=$winNameStr iBin_qxqy_FT_trim vs qBin_qxqy_FT_trim 1366 1373 AppendToGraph/W=$winNameStr iBin_qxqy_FB_trim vs qBin_qxqy_FB_trim 1367 ErrorBars/T=0 iBin_qxqy_FL_trim Y,wave=(:eBin_qxqy_FL_trim,:eBin_qxqy_FL_trim)1368 ErrorBars/T=0 iBin_qxqy_FR_trim Y,wave=(:eBin_qxqy_FR_trim,:eBin_qxqy_FR_trim)1369 ErrorBars/T=0 iBin_qxqy_FT_trim Y,wave=(:eBin_qxqy_FT_trim,:eBin_qxqy_FT_trim)1370 ErrorBars/T=0 iBin_qxqy_FB_trim Y,wave=(:eBin_qxqy_FB_trim,:eBin_qxqy_FB_trim)1374 ErrorBars/T=0/W=$winNameStr iBin_qxqy_FL_trim Y,wave=(:eBin_qxqy_FL_trim,:eBin_qxqy_FL_trim) 1375 ErrorBars/T=0/W=$winNameStr iBin_qxqy_FR_trim Y,wave=(:eBin_qxqy_FR_trim,:eBin_qxqy_FR_trim) 1376 ErrorBars/T=0/W=$winNameStr iBin_qxqy_FT_trim Y,wave=(:eBin_qxqy_FT_trim,:eBin_qxqy_FT_trim) 1377 ErrorBars/T=0/W=$winNameStr iBin_qxqy_FB_trim Y,wave=(:eBin_qxqy_FB_trim,:eBin_qxqy_FB_trim) 1371 1378 1372 1379 ModifyGraph/W=$winNameStr mode(iBin_qxqy_FL_trim)=4 … … 1400 1407 AppendtoGraph/W=$winNameStr iBin_qxqy_FLR_trim vs qBin_qxqy_FLR_trim 1401 1408 AppendToGraph/W=$winNameStr iBin_qxqy_FTB_trim vs qBin_qxqy_FTB_trim 1402 ErrorBars/T=0 iBin_qxqy_FLR_trim Y,wave=(:eBin_qxqy_FLR_trim,:eBin_qxqy_FLR_trim)1403 ErrorBars/T=0 iBin_qxqy_FTB_trim Y,wave=(:eBin_qxqy_FTB_trim,:eBin_qxqy_FTB_trim)1409 ErrorBars/T=0/W=$winNameStr iBin_qxqy_FLR_trim Y,wave=(:eBin_qxqy_FLR_trim,:eBin_qxqy_FLR_trim) 1410 ErrorBars/T=0/W=$winNameStr iBin_qxqy_FTB_trim Y,wave=(:eBin_qxqy_FTB_trim,:eBin_qxqy_FTB_trim) 1404 1411 1405 1412 ModifyGraph/W=$winNameStr mode(iBin_qxqy_FLR_trim)=4 … … 1427 1434 if(V_flag==0) 1428 1435 AppendtoGraph/W=$winNameStr iBin_qxqy_FLRTB_trim vs qBin_qxqy_FLRTB_trim 1429 ErrorBars/T=0 iBin_qxqy_FLRTB_trim Y,wave=(:eBin_qxqy_FLRTB_trim,:eBin_qxqy_FLRTB_trim)1436 ErrorBars/T=0/W=$winNameStr iBin_qxqy_FLRTB_trim Y,wave=(:eBin_qxqy_FLRTB_trim,:eBin_qxqy_FLRTB_trim) 1430 1437 1431 1438 ModifyGraph/W=$winNameStr mode(iBin_qxqy_FLRTB_trim)=4 … … 1452 1459 // AppendToGraph/W=$winNameStr iBin_qxqy_FT_trim vs qBin_qxqy_FT_trim 1453 1460 // AppendToGraph/W=$winNameStr iBin_qxqy_FB_trim vs qBin_qxqy_FB_trim 1454 ErrorBars/T=0 iBin_qxqy_FL_trim Y,wave=(:eBin_qxqy_FL_trim,:eBin_qxqy_FL_trim)1455 ErrorBars/T=0 iBin_qxqy_FR_trim Y,wave=(:eBin_qxqy_FR_trim,:eBin_qxqy_FR_trim)1461 ErrorBars/T=0/W=$winNameStr iBin_qxqy_FL_trim Y,wave=(:eBin_qxqy_FL_trim,:eBin_qxqy_FL_trim) 1462 ErrorBars/T=0/W=$winNameStr iBin_qxqy_FR_trim Y,wave=(:eBin_qxqy_FR_trim,:eBin_qxqy_FR_trim) 1456 1463 // ErrorBars/T=0 iBin_qxqy_FT_trim Y,wave=(:eBin_qxqy_FT_trim,:eBin_qxqy_FT_trim) 1457 1464 // ErrorBars/T=0 iBin_qxqy_FB_trim Y,wave=(:eBin_qxqy_FB_trim,:eBin_qxqy_FB_trim) … … 1489 1496 AppendtoGraph/W=$winNameStr iBin_qxqy_FLR_trim vs qBin_qxqy_FLR_trim 1490 1497 AppendToGraph/W=$winNameStr iBin_qxqy_FTB_trim vs qBin_qxqy_FTB_trim 1491 ErrorBars/T=0 iBin_qxqy_FLR_trim Y,wave=(:eBin_qxqy_FLR_trim,:eBin_qxqy_FLR_trim)1492 ErrorBars/T=0 iBin_qxqy_FTB_trim Y,wave=(:eBin_qxqy_FTB_trim,:eBin_qxqy_FTB_trim)1498 ErrorBars/T=0/W=$winNameStr iBin_qxqy_FLR_trim Y,wave=(:eBin_qxqy_FLR_trim,:eBin_qxqy_FLR_trim) 1499 ErrorBars/T=0/W=$winNameStr iBin_qxqy_FTB_trim Y,wave=(:eBin_qxqy_FTB_trim,:eBin_qxqy_FTB_trim) 1493 1500 1494 1501 ModifyGraph/W=$winNameStr mode(iBin_qxqy_FLR_trim)=4 … … 1516 1523 if(V_flag==0) 1517 1524 AppendtoGraph/W=$winNameStr iBin_qxqy_FLRTB_trim vs qBin_qxqy_FLRTB_trim 1518 ErrorBars/T=0 iBin_qxqy_FLRTB_trim Y,wave=(:eBin_qxqy_FLRTB_trim,:eBin_qxqy_FLRTB_trim)1525 ErrorBars/T=0/W=$winNameStr iBin_qxqy_FLRTB_trim Y,wave=(:eBin_qxqy_FLRTB_trim,:eBin_qxqy_FLRTB_trim) 1519 1526 1520 1527 … … 1540 1547 AppendtoGraph/W=$winNameStr iBin_qxqy_FLR_trim vs qBin_qxqy_FLR_trim 1541 1548 AppendToGraph/W=$winNameStr iBin_qxqy_FTB_trim vs qBin_qxqy_FTB_trim 1542 ErrorBars/T=0 iBin_qxqy_FLR_trim Y,wave=(:eBin_qxqy_FLR_trim,:eBin_qxqy_FLR_trim)1543 ErrorBars/T=0 iBin_qxqy_FTB_trim Y,wave=(:eBin_qxqy_FTB_trim,:eBin_qxqy_FTB_trim)1549 ErrorBars/T=0/W=$winNameStr iBin_qxqy_FLR_trim Y,wave=(:eBin_qxqy_FLR_trim,:eBin_qxqy_FLR_trim) 1550 ErrorBars/T=0/W=$winNameStr iBin_qxqy_FTB_trim Y,wave=(:eBin_qxqy_FTB_trim,:eBin_qxqy_FTB_trim) 1544 1551 1545 1552 ModifyGraph/W=$winNameStr mode(iBin_qxqy_FLR_trim)=4 -
sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_DetectorCorrections.ipf
r1080 r1081 160 160 // both beam conditions (+/- 0.0 mm). FTB was +/- 0.8 mm, MTB +/- 2 mm 161 161 if(cmpstr(detStr,"FL") == 0 || cmpstr(detStr,"FR") == 0) 162 gap = 3. 8//mm (measured, JB 1/4/18)162 gap = 3.5 //mm (measured, JB 1/4/18) 163 163 endif 164 164 if(cmpstr(detStr,"FT") == 0 || cmpstr(detStr,"FB") == 0) 165 gap = 8 //mm165 gap = 3.3 //mm (measured, JB 2/1/18) 166 166 endif 167 167 if(cmpstr(detStr,"ML") == 0 || cmpstr(detStr,"MR") == 0) … … 169 169 endif 170 170 if(cmpstr(detStr,"MT") == 0 || cmpstr(detStr,"MB") == 0) 171 gap = 5 //mm171 gap = 18.3 //mm (measured, JB 2/1/18) 172 172 endif 173 173 // TODO: this is the line to keep, to replace the hard-wired values … … 179 179 // adjust the x postion based on the beam center being nominally (0,0) in units of cm, not pixels 180 180 if(cmpstr(fname,"VCALC")== 0 ) 181 offset = VCALC_getPanel Separation(detStr)181 offset = VCALC_getPanelTranslation(detStr) 182 182 offset *= 10 // convert to units of mm 183 offset /= 2 // 1/2 the total separation 184 if(cmpstr("L",detStr[1]) == 0) 185 offset *= -1 //negative value for L 186 endif 183 // if(cmpstr("L",detStr[1]) == 0) 184 // offset *= -1 //negative value for L 185 // endif 187 186 else 188 187 //normal case … … 213 212 214 213 if(cmpstr(fname,"VCALC")== 0 ) 215 offset = VCALC_getPanel Separation(detStr)214 offset = VCALC_getPanelTranslation(detStr) 216 215 offset *= 10 // convert to units of mm 217 offset /= 2 // 1/2 the total separation 218 if(cmpstr("B",detStr[1]) == 0) 219 offset *= -1 // negative value for Bottom det 220 endif 216 // if(cmpstr("B",detStr[1]) == 0) 217 // offset *= -1 // negative value for Bottom det 218 // endif 221 219 else 222 220 //normal case -
sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_Instrument_Resolution.ipf
r1073 r1081 54 54 // - Aug 07 - added input to switch calculation based on lenses (==1 if in) 55 55 // 56 // - called by CircSectAvg.ipf and RectAnnulAvg.ipf 57 // 58 // passed values are read from RealsRead 59 // except DDet and apOff, which are set from globals before passing 56 // - SANS -- called by CircSectAvg.ipf and RectAnnulAvg.ipf 57 // 58 // - VSANS -- called in VC_fDoBinning_QxQy2D(folderStr, binningType) 60 59 // 61 60 // DDet is the detector pixel resolution … … 85 84 Function V_getResolution(inQ,lambda,lambdaWidth,DDet,apOff,S1,S2,L1,L2,BS,del_r,usingLenses,SigmaQ,QBar,fSubS) 86 85 Variable inQ, lambda, lambdaWidth, DDet, apOff, S1, S2, L1, L2, BS, del_r,usingLenses 87 Variable & fSubS, &QBar, &SigmaQ//these are the output quantities at the input Q value86 Variable &SigmaQ, &QBar, &fSubS //these are the output quantities at the input Q value 88 87 89 88 //lots of calculation variables -
sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_Menu.ipf
r1073 r1081 18 18 "Data Display",DoWindow/F VSANS_Data 19 19 "VCALC",VCALC_Panel() 20 "VSANS Preferences",Show_VSANSPreferences_Panel() 20 21 "-" 21 22 Submenu "In Progress Panels" 22 "VSANS Preferences",Show_VSANSPreferences_Panel()23 23 "Beam Center Panel",V_FindBeamCenter() 24 24 "Patch Beam Center XY",V_PatchDet_xyCenters_Panel() -
sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_Testing_Data_Procs.ipf
r1062 r1081 61 61 62 62 // returns the total separation (assumed symmetric) in cm 63 val = VCALC_getPanelSeparation(detStr) 64 val /= 2 // to get half of the separation, and cm for the data file 63 val = VCALC_getPanelTranslation(detStr) 65 64 // it's OK to call both of these. these functions check detStr for the correct value 66 if(cmpstr("L",detStr[1]) == 0 || cmpstr("B",detStr[1]) == 0) 67 val *= -1 // negative separation position for L and Bottom 68 endif 69 V_writeDet_LateralOffset(fileName,detStr,val) 70 V_writeDet_VerticalOffset(fileName,detStr,val) 71 65 if(cmpstr("T",detStr[1]) == 0 || cmpstr("B",detStr[1]) == 0) 66 V_writeDet_LateralOffset(fileName,detStr,val) // T/B panels 67 else 68 V_writeDet_VerticalOffset(fileName,detStr,val) // L/R panels, or back detector 69 endif 72 70 // x and y pixel sizes for each detector should be correct in the "base" file - but if not... 73 71 //Function VCALC_getPixSizeX(type) // returns the pixel X size, in [cm]
Note: See TracChangeset
for help on using the changeset viewer.