def get_xsf_stored(self, logger, charge, xsf_type='MoKa'):
# Set up dictionary of the prestored scattering factors
xsf_dict = {'MoKa': (pse_mo_xsf_1, pse_mo_xsf_2), 'CuKa': (pse_cu_xsf_1, pse_cu_xsf_2),
'CoKa': (pse_co_xsf_1, pse_co_xsf_2), 'FeKa': (pse_fe_xsf_1, pse_fe_xsf_2),
'CrKa': (pse_cr_xsf_1, pse_cr_xsf_2)}
if not xsf_type in ['MoKa', 'CuKa', 'CoKa', 'FeKa', 'CrKa']: # Check for valid user input
logger.pt_xsf_wrong_source()
xsf_type = 'MoKa'
# Get scattering factors from nuclear charge
chosen_xsf_1, chosen_xsf_2 = xsf_dict[xsf_type]
xsf1, xsf2 = np.take(chosen_xsf_1, charge - 1), np.take(chosen_xsf_2, charge - 1)
# Return value(s)
return xsf1, xsf2
评论列表
文章目录