Changeset 1100 for sans/Dev/trunk/NCNR_User_Procedures/Common/Packages
- Timestamp:
- May 18, 2018 10:32:22 AM (5 years ago)
- Location:
- sans/Dev/trunk/NCNR_User_Procedures/Common/Packages/PlotManager
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
sans/Dev/trunk/NCNR_User_Procedures/Common/Packages/PlotManager/PlotUtilsMacro_v40.ipf
r1099 r1100 361 361 dQv = -$w3[0] 362 362 363 // TODO: be sure thatthis works correctly and can be included in either363 //DONE: this works correctly and can be included in either 364 364 // a VSANS reduction experiment, or a standalone analysis package 365 365 // -- since this is a Proc, not a function, #conditional compile does not work, 366 366 // but, since it's a Proc, it is not compiled, so missing functions aren't flagged as a compile error 367 if (exists("NCNR_VSANS")==6) //defined in the main VSANS #includes file.368 DoAlert 0,"**Treating data as VSANS data**"367 // if (exists("NCNR_VSANS")==6) //defined in the main VSANS #includes file. 368 // DoAlert 0,"**Treating data as VSANS data**" 369 369 Duplicate/O $w3,$(baseStr+"_dQv") //save a copy for VSANS 370 370 $(baseStr+"_dQv") = -$(baseStr+"_dQv") 371 V_USANS_CalcWeights(baseStr,dQv)372 else373 DoAlert 0,"Treating data as USANS (normal slit-smeared data)"374 371 USANS_CalcWeights(baseStr,dQv) 375 endif 372 // else 373 // DoAlert 0,"Treating data as USANS (normal slit-smeared data)" 374 // USANS_CalcWeights(baseStr,dQv) 375 // endif 376 376 377 377 -
sans/Dev/trunk/NCNR_User_Procedures/Common/Packages/PlotManager/USANS_SlitSmearing_v40.ipf
r616 r1100 2 2 #pragma version=3.00 3 3 #pragma IgorVersion=6.1 4 5 /////// 6 // JAN-MAY 2018 7 // 8 // 9 // This is a first approximation to model slit smeared VSANS data 10 // - the dQv value is now a "per-Q" quantity, rather than a single global value 11 // - the wavelength smearing must be accounted for by a separate numerical integral 12 // BEFORE this step is applied. 13 // -- this is significant issue for White Beam conditions 14 // 15 16 17 18 4 19 5 20 //Functions for doing USANS Slit smearing by method of weight matrix … … 360 375 End 361 376 377 // MAY 2018 378 // updated to use dQv as a per-q wave, not a single global value 362 379 Function CalcW1(i,j) 363 380 Variable i,j … … 368 385 369 386 370 371 NVAR dQv = USANS_dQv387 // replaced with a wave 388 // NVAR dQv = USANS_dQv 372 389 373 390 Variable UU,UL,dqj,rU,rL,wU,wL,dqw 374 391 Wave Qval = $(USANS_basestr+"_q"+trimStr) 392 Wave dQv = $(USANS_basestr+"_dQv"+trimStr) 375 393 376 394 UU =sqrt(Qval[j+1]^2-Qval[i]^2) … … 380 398 rL = sqrt(UL^2+Qval[i]^2) 381 399 382 wU = (1.0/dQv )*(Qval[j+1]*UU/dqw - 0.5*UU*rU/dqw - 0.5*Qval[i]^2*ln(UU+rU)/dqw )383 wL = (1.0/dQv )*(Qval[j+1]*UL/dqw - 0.5*UL*rL/dqw - 0.5*Qval[i]^2*ln(UL+rL)/dqw )400 wU = (1.0/dQv[i])*(Qval[j+1]*UU/dqw - 0.5*UU*rU/dqw - 0.5*Qval[i]^2*ln(UU+rU)/dqw ) 401 wL = (1.0/dQv[i])*(Qval[j+1]*UL/dqw - 0.5*UL*rL/dqw - 0.5*Qval[i]^2*ln(UL+rL)/dqw ) 384 402 385 403 Return wU-wL … … 387 405 End 388 406 407 // MAY 2018 408 // updated to use dQv as a per-q wave, not a single global value 389 409 Function CalcW2(i,j) 390 410 Variable i,j … … 395 415 396 416 397 398 NVAR dQv = USANS_dQv417 // replaced with a wave 418 // NVAR dQv = USANS_dQv 399 419 400 420 variable UU,UL,dqw,rU,rL,wU,wL 401 421 402 422 Wave Qval = $(USANS_basestr+"_q"+trimStr) 423 Wave dQv = $(USANS_basestr+"_dQv"+trimStr) 403 424 404 425 UU = sqrt(Qval[j]^2-Qval[i]^2) … … 407 428 rU = sqrt(UU^2+Qval[i]^2) 408 429 rL = sqrt(UL^2+Qval[i]^2) 409 wU = (1.0/dQv )*( -Qval[j-1]*UU/dqw + 0.5*UU*rU/dqw + 0.5*Qval[i]^2*ln(UU+rU)/dqw )410 wL = (1.0/dQv )*( -Qval[j-1]*UL/dqw + 0.5*UL*rL/dqw + 0.5*Qval[i]^2*ln(UL+rL)/dqw )430 wU = (1.0/dQv[i])*( -Qval[j-1]*UU/dqw + 0.5*UU*rU/dqw + 0.5*Qval[i]^2*ln(UU+rU)/dqw ) 431 wL = (1.0/dQv[i])*( -Qval[j-1]*UL/dqw + 0.5*UL*rL/dqw + 0.5*Qval[i]^2*ln(UL+rL)/dqw ) 411 432 412 433 Return wU-wL … … 414 435 End 415 436 437 // MAY 2018 438 // updated to use dQv as a per-q wave, not a single global value 416 439 Function CalcR(i) 417 440 Variable i … … 424 447 NVAR m = USANS_m 425 448 NVAR N = USANS_N 426 NVAR dQv = USANS_dQv 449 // replaced with a wave 450 // NVAR dQv = USANS_dQv 427 451 428 452 Variable retval … … 430 454 Wave Ival = $(USANS_basestr+"_i"+trimStr) 431 455 Variable/G USANS_intQpt = Qval[i] 456 Wave dQv = $(USANS_basestr+"_dQv"+trimStr) 457 432 458 433 459 Variable lower = sqrt(qval[N-1]^2-qval[i]^2) 434 Variable upper = dQv 460 Variable upper 461 upper = dQv[i] 435 462 436 463 if (i == N) … … 440 467 retval = Integrate1D(Remainder,lower,upper) 441 468 442 retval *= 1/dQv 469 retval *= 1/dQv[i] 443 470 444 471 Return retval
Note: See TracChangeset
for help on using the changeset viewer.