- Timestamp:
- Apr 29, 2016 5:04:20 PM (7 years ago)
- Location:
- sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/VC_BeamCenter.ipf
r994 r995 597 597 // this works if the proper centers are in the file - otherwise, it's a mess 598 598 // "B" is skipped here, as it should be... 599 fname = "RAW" 599 SVAR type = root:Packages:NIST:VSANS:Globals:gCurDispType 600 601 fname = type 600 602 for(ii=0;ii<ItemsInList(ksDetectorListNoB);ii+=1) 601 603 detStr = StringFromList(ii, ksDetectorListNoB, ";") 602 604 xCtr = V_getDet_beam_center_x(fname,detStr) 603 605 yCtr = V_getDet_beam_center_y(fname,detStr) 604 V_RescaleToBeamCenter( "RAW",detStr,xCtr,yCtr)606 V_RescaleToBeamCenter(type,detStr,xCtr,yCtr) 605 607 endfor 606 608 … … 620 622 Function V_SpreadOutPanels() 621 623 622 V_RescaleToBeamCenter("RAW","MB",64,78) 623 V_RescaleToBeamCenter("RAW","MT",64,-30) 624 V_RescaleToBeamCenter("RAW","MR",-30,64) 625 V_RescaleToBeamCenter("RAW","ML",78,64) 626 V_RescaleToBeamCenter("RAW","FB",64,78) 627 V_RescaleToBeamCenter("RAW","FT",64,-30) 628 V_RescaleToBeamCenter("RAW","FR",-30,64) 629 V_RescaleToBeamCenter("RAW","FL",78,64) 624 SVAR type = root:Packages:NIST:VSANS:Globals:gCurDispType 625 626 V_RescaleToBeamCenter(type,"MB",64,78) 627 V_RescaleToBeamCenter(type,"MT",64,-30) 628 V_RescaleToBeamCenter(type,"MR",-30,64) 629 V_RescaleToBeamCenter(type,"ML",78,64) 630 V_RescaleToBeamCenter(type,"FB",64,78) 631 V_RescaleToBeamCenter(type,"FT",64,-30) 632 V_RescaleToBeamCenter(type,"FR",-30,64) 633 V_RescaleToBeamCenter(type,"FL",78,64) 630 634 return(0) 631 635 end -
sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/VC_DetectorBinning_Q.ipf
r993 r995 1317 1317 1318 1318 1319 // for a given detector binning type ("B", "FLTB", "MTB" etc) 1320 // all of the work folders will be checked to see if the data is on the graph 1321 // and if it is, it will be removed 1322 // 1323 Function ClearAllIQIfDisplayed(type) 1324 String type 1325 1326 // String folderList = ksWorkFolderListShort 1327 String fldr 1328 Variable ii 1329 1330 for(ii=0;ii<ItemsInList(ksWorkFolderListShort);ii+=1) 1331 fldr = StringFromList(ii, ksWorkFolderListShort, ";") 1332 ClearIQIfDisplayed(fldr,type) 1333 endfor 1334 // just in case 1335 SetDataFolder root: 1336 1337 return(0) 1338 end 1339 1319 1340 Function ClearIQIfDisplayed(fldr,type) 1320 1341 String fldr,type -
sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_DataPlotting.ipf
r993 r995 164 164 SetDataFolder $("root:Packages:NIST:VSANS:"+type) 165 165 166 // clear EVERYTHING 167 ClearAllIQIfDisplayed("MLRTB") 168 ClearAllIQIfDisplayed("MLR") 169 ClearAllIQIfDisplayed("MTB") //this returns to root: 170 ClearAllIQIfDisplayed("MT") 171 ClearAllIQIfDisplayed("ML") 172 ClearAllIQIfDisplayed("MR") 173 ClearAllIQIfDisplayed("MB") 174 166 175 if(binType==1) 167 ClearIQIfDisplayed(type,"MLRTB") 168 ClearIQIfDisplayed(type,"MLR") 169 ClearIQIfDisplayed(type,"MTB") //this returns to root: 170 176 // ClearAllIQIfDisplayed("MLRTB") 177 // ClearAllIQIfDisplayed("MLR") 178 // ClearAllIQIfDisplayed("MTB") //this returns to root: 179 // ClearAllIQIfDisplayed("MT") 180 // ClearAllIQIfDisplayed("ML") 181 // ClearAllIQIfDisplayed("MR") 182 // ClearAllIQIfDisplayed("MB") 171 183 SetDataFolder $("root:Packages:NIST:VSANS:"+type) 172 184 CheckDisplayed/W=V_1D_Data iBin_qxqy_ML … … 189 201 190 202 if(binType==2) 191 ClearIQIfDisplayed(type,"MLRTB")192 ClearIQIfDisplayed(type,"MT")193 ClearIQIfDisplayed(type,"ML")194 ClearIQIfDisplayed(type,"MR")195 ClearIQIfDisplayed(type,"MB")203 // ClearAllIQIfDisplayed("MLRTB") 204 // ClearAllIQIfDisplayed("MT") 205 // ClearAllIQIfDisplayed("ML") 206 // ClearAllIQIfDisplayed("MR") 207 // ClearAllIQIfDisplayed("MB") 196 208 197 209 … … 217 229 218 230 if(binType==3) 219 ClearIQIfDisplayed(type,"MLR")220 ClearIQIfDisplayed(type,"MTB")221 ClearIQIfDisplayed(type,"MT")222 ClearIQIfDisplayed(type,"ML")223 ClearIQIfDisplayed(type,"MR")224 ClearIQIfDisplayed(type,"MB")231 // ClearAllIQIfDisplayed("MLR") 232 // ClearAllIQIfDisplayed("MTB") 233 // ClearAllIQIfDisplayed("MT") 234 // ClearAllIQIfDisplayed("ML") 235 // ClearAllIQIfDisplayed("MR") 236 // ClearAllIQIfDisplayed("MB") 225 237 226 238 SetDataFolder $("root:Packages:NIST:VSANS:"+type) … … 243 255 244 256 if(binType==4) // slit aperture binning - Mt, ML, MR, MB are averaged 245 ClearIQIfDisplayed(type,"MLRTB")246 ClearIQIfDisplayed(type,"MLR")247 ClearIQIfDisplayed(type,"MTB")257 // ClearAllIQIfDisplayed("MLRTB") 258 // ClearAllIQIfDisplayed("MLR") 259 // ClearAllIQIfDisplayed("MTB") 248 260 249 261 // SetDataFolder root:Packages:NIST:VSANS:VCALC … … 292 304 SetDataFolder $("root:Packages:NIST:VSANS:"+type) 293 305 306 // clear EVERYTHING 307 ClearAllIQIfDisplayed("FLRTB") 308 309 ClearAllIQIfDisplayed("FLR") 310 ClearAllIQIfDisplayed("FTB") 311 312 ClearAllIQIfDisplayed("FT") 313 ClearAllIQIfDisplayed("FL") 314 ClearAllIQIfDisplayed("FR") 315 ClearAllIQIfDisplayed("FB") 316 294 317 if(binType==1) 295 ClearIQIfDisplayed(type,"FLRTB") 296 ClearIQIfDisplayed(type,"FLR") 297 ClearIQIfDisplayed(type,"FTB") //this returns to root: 298 318 // ClearAllIQIfDisplayed("FLRTB") 319 // 320 // ClearAllIQIfDisplayed("FLR") 321 // ClearAllIQIfDisplayed("FTB") 322 // 323 // ClearAllIQIfDisplayed("FT") 324 // ClearAllIQIfDisplayed("FL") 325 // ClearAllIQIfDisplayed("FR") 326 // ClearAllIQIfDisplayed("FB") 327 299 328 SetDataFolder $("root:Packages:NIST:VSANS:"+type) 300 329 CheckDisplayed/W=V_1D_Data iBin_qxqy_FL … … 317 346 318 347 if(binType==2) 319 ClearIQIfDisplayed(type,"FLRTB")320 ClearIQIfDisplayed(type,"FT")321 ClearIQIfDisplayed(type,"FL")322 ClearIQIfDisplayed(type,"FR")323 ClearIQIfDisplayed(type,"FB")324 348 // ClearAllIQIfDisplayed("FLRTB") 349 // ClearAllIQIfDisplayed("FT") 350 // ClearAllIQIfDisplayed("FL") 351 // ClearAllIQIfDisplayed("FR") 352 // ClearAllIQIfDisplayed("FB") 353 // 325 354 326 355 SetDataFolder $("root:Packages:NIST:VSANS:"+type) … … 345 374 346 375 if(binType==3) 347 ClearIQIfDisplayed(type,"FLR")348 ClearIQIfDisplayed(type,"FTB")349 ClearIQIfDisplayed(type,"FT")350 ClearIQIfDisplayed(type,"FL")351 ClearIQIfDisplayed(type,"FR")352 ClearIQIfDisplayed(type,"FB")376 // ClearAllIQIfDisplayed("FLR") 377 // ClearAllIQIfDisplayed("FTB") 378 // ClearAllIQIfDisplayed("FT") 379 // ClearAllIQIfDisplayed("FL") 380 // ClearAllIQIfDisplayed("FR") 381 // ClearAllIQIfDisplayed("FB") 353 382 354 383 SetDataFolder $("root:Packages:NIST:VSANS:"+type) … … 371 400 372 401 if(binType==4) // slit aperture binning - Mt, ML, MR, MB are averaged 373 ClearIQIfDisplayed(type,"FLRTB")374 ClearIQIfDisplayed(type,"FLR")375 ClearIQIfDisplayed(type,"FTB")402 // ClearAllIQIfDisplayed("FLRTB") 403 // ClearAllIQIfDisplayed("FLR") 404 // ClearAllIQIfDisplayed("FTB") 376 405 377 406 // SetDataFolder root:Packages:NIST:VSANS:VCALC … … 419 448 420 449 if(binType==1 || binType==2 || binType==3) 421 450 451 ClearAllIQIfDisplayed("B") 452 SetDataFolder $("root:Packages:NIST:VSANS:"+type) 422 453 CheckDisplayed/W=V_1D_Data iBin_qxqy_B 423 454 … … 436 467 //nothing different here since there is ony a single detector to display, but for the future... 437 468 if(binType==4) 438 469 470 ClearAllIQIfDisplayed("B") 471 SetDataFolder $("root:Packages:NIST:VSANS:"+type) 439 472 CheckDisplayed/W=V_1D_Data iBin_qxqy_B 440 473 -
sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_DetectorCorrections.ipf
r994 r995 34 34 // -- clean up when done 35 35 // -- calculate + return the error contribution? 36 // 36 // -- verify the error propagation 37 37 Function DeadTimeCorrectionTubes(dataW,data_errW,dtW,ctTime) 38 38 Wave dataW,data_errW,dtW … … 60 60 61 61 dataW[][] = dataW[p][q]/(1-sumTubes[p]*dtW[p]) //correct the data 62 data_errW[][] = data_errW[p][q]/(1-sumTubes[p]*dtW[p]) // propagate the error wave 62 63 63 64 elseif(cmpstr(orientation,"horizontal")==0) … … 68 69 69 70 dataW[][] = dataW[p][q]/(1-sumTubes[q]*dtW[q]) 71 data_errW[][] = data_errW[p][q]/(1-sumTubes[q]*dtW[q]) 70 72 71 73 else -
sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_HDF5_RW_Utils.ipf
r994 r995 23 23 // the list of WORK Folders 24 24 Strconstant ksWorkFolderList = "RAW;SAM;EMP;BGD;COR;DIV;ABS;MSK;CAL;STO;SUB;DRK;ADJ;VCALC;RawVSANS;" 25 Strconstant ksWorkFolderListShort = "RAW;SAM;EMP;BGD;COR;DIV;ABS;MSK;CAL;STO;SUB;DRK;ADJ;" 25 26 26 27 -
sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_Test_RAW_Panel.ipf
r994 r995 655 655 endif 656 656 FakeTabClick(V_Value) 657 657 658 // update the status when the tab is clicked 659 STRUCT WMButtonAction sa 660 sa.eventCode = 2 661 StatusButtonProc(sa) 662 658 663 break 659 664 case -1: // control being killed … … 885 890 // click code here 886 891 V_SpreadOutPanels() 892 887 893 break 888 894 case -1: // control being killed … … 904 910 // click code here 905 911 V_RestorePanels() 912 906 913 break 907 914 case -1: // control being killed -
sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_Testing_Data_Procs.ipf
r994 r995 43 43 V_writeDetectorData(fileName,detStr,tmpData) 44 44 45 val = VCALC_get TopBottomSDDOffset(detStr)/10 + VCALC_getSDD(detStr)*100 // make sure value is in cm45 val = VCALC_getSDD(detStr)*100 // make sure value is in cm 46 46 print val 47 47 V_writeDet_distance(fileName,detStr,val) 48 49 val = VCALC_getTopBottomSDDOffset(detStr) //val is in mm, as for data file 50 if(val != 0) 51 V_writeDet_TBSetback(fileName,detStr,val) 52 endif 48 53 49 54 // x and y pixel sizes for each detector should be correct in the "base" file - but if not... … … 58 63 59 64 60 61 65 // the calibration data for each detector (except B) is already correct in the "base" file 62 66 //V_writeDetTube_spatialCalib(fname,detStr,inW) -
sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_WorkFolderUtils.ipf
r994 r995 472 472 Wave w = V_getDetectorDataW(fname,detStr) 473 473 Wave w_err = V_getDetectorDataErrW(fname,detStr) 474 // Wave w_dt = V_getDetector_deadtime(fname,detStr) 474 // any other dimensions to pass in? 475 475 // SolidAngleCorrection(fill this in) 476 476 … … 485 485 // -- loop over all of the detectors 486 486 // -- B detector is a special case (do separately, then loop over NoB) 487 // -- this DOES alter the data 488 // -- verify the error propagation 489 // 490 Variable countRate 487 491 NVAR gDoDeadTimeCor = root:Packages:NIST:VSANS:Globals:gDoDeadTimeCor 488 492 if (gDoDeadTimeCor == 1) … … 497 501 Variable b_dt = V_getDetector_deadtime_B(fname,detStr) 498 502 // do the correction for the back panel 499 500 // itim = integersread[2] 501 // cntrate = sum(data,-inf,inf)/itim //use sum of detector counts rather than scaler value 502 // //TODO - do correct dead time correction for tubes 503 // deadtime = 1//DetectorDeadtime(textread[3],textread[9],dateAndTimeStr=textRead[1],dtime=realsRead[48]) //pick the correct deadtime 504 // dscale = 1/(1-deadTime*cntrate) 505 // 506 507 // dead time correction 508 // data *= dscale //deadtime correction for everyone else, including NCNR 509 // data_err *= dscale 510 511 503 countRate = sum(w,-inf,inf)/ctTime //use sum of detector counts 504 505 w = w/(1-countRate*b_dt) 506 w_err = w_err/(1-countRate*b_dt) 507 512 508 else 513 509 // do the corrections for 8 tube panels 514 515 510 Wave w_dt = V_getDetector_deadtime(fname,detStr) 516 // DeadTimeCorrectionTubes(w,w_err,w_dt,ctTime) 517 518 511 DeadTimeCorrectionTubes(w,w_err,w_dt,ctTime) 512 519 513 endif 520 514 endfor
Note: See TracChangeset
for help on using the changeset viewer.