SANS to SESANS conversion

The conversion from SANS into SESANS in absolute units is a simple Hankel transformation when all the small-angle scattered neutrons are detected. First we calculate the Hankel transform including the absolute intensities by

\[G(\delta) = 2 \pi \int_0^{\infty} J_0(Q \delta) \frac{d \Sigma}{d \Omega} (Q) Q dQ \!,\]

in which \(J_0\) is the zeroth order Bessel function, \(\delta\) the spin-echo length, \(Q\) the wave vector transfer and \(\frac{d \Sigma}{d \Omega} (Q)\) the scattering cross section in absolute units.

Out of necessity, a 1-dimensional numerical integral approximates the exact Hankel transform. The upper bound of the numerical integral is \(Q_{max}\), which is calculated from the wavelength and the instrument’s maximum acceptance angle, both of which are included in the file. While the true Hankel transform has a lower bound of zero, most scattering models are undefined at :math: Q=0, so the integral requires an effective lower bound. The lower bound of the integral is \(Q_{min} = 0.1 \times 2 \pi / R_{max}\), in which \(R_{max}\) is the maximum length scale probed by the instrument multiplied by the number of data points. This lower bound is the minimum expected Q value for the given length scale multiplied by a constant. The constant, 0.1, was chosen empirically by integrating multiple curves and finding where the value at which the integral was stable. A constant value of 0.3 gave numerical stability to the integral, so a factor of three safety margin was included to give the final value of 0.1.

From the equation above we can calculate the polarisation that we measure in a SESANS experiment:

\[P(\delta) = e^{t \left( \frac{ \lambda}{2 \pi} \right)^2 \left(G(\delta) - G(0) \right)} \!,\]

in which \(t\) is the thickness of the sample and \(\lambda\) is the wavelength of the neutrons.