scippneutron.conversion.tof.Q_elements_from_wavelength#

scippneutron.conversion.tof.Q_elements_from_wavelength(*, wavelength, incident_beam, scattered_beam)#

Compute them momentum transfer vector from wavelength.

Computes the three components of the Q-vector \(Q_x, Q_y, Q_z\) separately using

\[\begin{split}\vec{Q} &= (Q_x, Q_y, Q_z) \\ \vec{Q} &= \vec{k}_i - \vec{k}_f = \frac{2\pi}{\lambda} \left(\hat{e}_i - \hat{e}_f\right),\end{split}\]

where the unit vectors for incident momentum and final momentum

\[\begin{split}\hat{e}_i &= \vec{k_i} / | \vec{k_i} | \\ \hat{e}_f &= \vec{k_f} / | \vec{k_f} |\end{split}\]

are defined as the directions of incident_beam and scattered_beam, respectively.

Parameters:
  • wavelength (Variable) – De Broglie wavelength \(\lambda\).

  • incident_beam (Variable) – Beam from source to sample. Expects dtype=vector3.

  • scattered_beam (Variable) – Beam from sample to detector. Expects dtype=vector3.

Returns:

  • Qx (scipp.Variable) – x-component of the momentum transfer \(\vec{Q}\).

  • Qy (scipp.Variable) – y-component of the momentum transfer \(\vec{Q}\).

  • Qz (scipp.Variable) – z-component of the momentum transfer \(\vec{Q}\).