# Differences

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

 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. - - ​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;​ - } - ​ - - [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: - - ​prm = CeV(p1,​v1)*difc_hrpd_bs+difa_hrpd_bs*CeV(p1,​v1)^2+t0_hrpd_bs;​ : v3​ - - - ====== 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: - - ​d_Is - ​peak_type pv - ​pv_lor @ .5 - ​pv_fwhm @ 200 - d 2 I 10000​ - - 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: - - ​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​ - - - 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. - - ​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​ - - In this way the xo value is not transformed according to pk_xo. ​