import numpy as np
from numpy import ndarray
[docs]def angle_to_q(scattering_angle: ndarray, wavelength: float):
"""Conversion from full scattering angle (degrees) to scattering vector (inverse angstroms)"""
return 4 * np.pi / wavelength * np.sin(scattering_angle / 2 * np.pi / 180)
[docs]def q_to_angle(q: ndarray, wavelength: float):
"""Conversion from scattering vector (inverse angstroms) to full scattering angle (degrees)"""
return 2 * np.arcsin(q * wavelength / (4 * np.pi)) / np.pi * 180
[docs]def energy_to_wavelength(energy: float):
"""Conversion from photon energy (eV) to photon wavelength (angstroms)"""
return 1.2398 / energy * 1e4
[docs]def wavelength_to_energy(wavelength: float):
"""Conversion from photon wavelength (angstroms) to photon energy (eV)"""
return 1.2398 / wavelength * 1e4