Differences

This shows you the differences between two versions of the page.

Link to this comparison view

time_of_flight_tof_peak_fitting [2017/12/16 17:26]
johnsoevans
time_of_flight_tof_peak_fitting [2020/07/16 11:29]
Line 1: Line 1:
-====== Time of Flight Peak Shape Fitting ====== 
-====== Using a hkl_Is phase ====== 
- 
-A Pawley hkl_Is phase with a single peak can be inserted. The two numbers in the macro are the d-spacing of the peak and its intensity. ​ You can change @ symbols for parameter names. ​ The advantage of this method is that it uses the full tof convolutions which might be necessary for accurate peak shapes and therefore positions. ​ Alan's methods below don't use these convolutions. 
- 
-<code topas>​prm lor 0.54006` 
-prm dsp 51.70683` 
-prm !dspsq 0 
-tof_peak_fit( @, 2.92093`, @, 2.64961`) 
- 
-macro tof_peak_fit(p1,​v1,​p2,​v2) { 
-#m_argu p1 
-#m_argu p2 
-If_Prm_Eqn_Rpt(p1,​ v1, min =0.9*v1; max =1.1*v1;) 
-If_Prm_Eqn_Rpt(p2,​ v2, min .000000000001 max 1e9) 
-hkl_Is phase_name CeV(p1,v1) a =10*CeV(p1,​v1);​ b 0.1 c 0.1 space_group "​P1"​ load hkl_m_d_th2 I { 10 0 0 1 0.0 80114.92 =CeV(p2,​v2);​ } 
-peak_type pv pv_lor =lor; pv_fwhm = dsp*CeV(p1,​v1) + dspsq*CeV(p1,​v1)^2;​ 
-} 
-</​code>​ 
- 
-[Note changed =CeV(p1,​v1);​ to 0.0 after hklm values in macro as was getting crash in topas and d-spacing not needed/​reported] 
- 
-You can add a line like the one below to the macro to report tof: 
- 
-<code topas>​prm = CeV(p1,​v1)*difc_hrpd_bs+difa_hrpd_bs*CeV(p1,​v1)^2+t0_hrpd_bs;​ : v3</​code>​ 
- 
- 
-====== TOF Peak fitting using d_Is or xo_Is phases ====== 
-  
- --- //​[[alan.coelho@bigpond.com|Alan Coelho]] 2011/08/25 19:15// 
- 
-d_Is phases can be used in TOF data as follows: 
- 
-<code topas>​d_Is 
-   ​peak_type pv 
-   ​pv_lor @ .5 
-   ​pv_fwhm @ 200 
-   d 2 I 10000</​code>​ 
- 
-If the peak is simply to describe a background anomaly then the TOF peak shape convolutions may not be wanted. In this case it’s possible to put the tof convolutions at the str level. In TEST_EXAMPLES\TOF_BANK2_1.INP this would look like: 
- 
-<code topas>​TOF_XYE(R29187C_145_calc_2.xye,​ = Yobs_dx_at(Xo) .5;) 
-   ​TOF_LAM(0.001) 
-   ​TOF_x_axis_calibration(t0,​ 4.54166, t1, 6172.60684, t2, -2.15711) 
-   bkg @ 0 0 0 0 0 0 0 0 0 0 0 
-   ​finish_X 21000 
-   ​STR(Fm-3m) ' CeO2 
-      Cubic(5.402187) 
-      site Ce1 x  0.00  y 0.00  z 0.00 occ Ce 1 beq @ 0.5 
-      site O1  x  0.25  y 0.25  z 0.25 occ O  1 beq @ 0.5 
-      scale @ 1 
-      TOF_PV(@, 100, @, .5, t1) 
-      ​ 
-      TOF_Exponential(a0,​ 100, ,0, 1, t1, -) ' Moved 
-      TOF_Exponential(b0,​ 100, b1, 100, 4, t1, +)  ' Moved 
-      scale_pks = D_spacing^4; ​ ' Moved 
-   d_Is 
-      peak_type pv 
-         ​pv_lor @ .5 
-         ​pv_fwhm @ 200 
-      d 2 I 10000</​code>​ 
- 
- 
-The text marked "​Moved"​ is what was moved from the xdd level to the str level. The d_Is phase would therefore not have the TOF_Exponential convolutions applied nor the scale_pks applied. 
- 
-xo_Is phases can also be used in TOF data but the pk_xo (inside the TOF_x_axis_calibration macro) needs to be moved to the str level. Additionally the No_Th_Dependence is necessary; ie. 
- 
-<code topas>​TOF_XYE(...) 
-   ​TOF_LAM(0.001) 
-   ​str... 
-      TOF_PV(@, 100, @, .5, t1) 
-      TOF_x_axis_calibration(t0,​ 4.54166, t1, 6172.60684, t2, -2.15711) 
-      TOF_Exponential(a0,​ 100, ,0, 1, t1, -) 
-      TOF_Exponential(b0,​ 100, b1, 100, 4, t1, +) 
-   xo_Is 
-      No_Th_Dependence 
-      peak_type pv 
-         ​pv_lor @ .5 
-         ​pv_fwhm @ 200 
-      xo 12000 I 10000</​code>​ 
- 
-In this way the xo value is not transformed according to pk_xo. ​ 
  

Personal Tools