neutronpy.instrument.TripleAxisInstrument.resolution_convolution¶
-
TripleAxisInstrument.
resolution_convolution
(sqw, pref, nargout, hkle, METHOD='fix', ACCURACY=None, p=None, seed=None)[source]¶ Numerically calculate the convolution of a user-defined cross-section function with the resolution function for a 3-axis neutron scattering experiment.
Parameters: - sqw : func
User-supplied “fast” model cross section.
- pref : func
User-supplied “slow” cross section prefactor and background function.
- nargout : int
Number of arguments returned by the pref function
- hkle : tup
Tuple of H, K, L, and W, specifying the wave vector and energy transfers at which the convolution is to be calculated (i.e. define $mathbf{Q}_0$). H, K, and L are given in reciprocal lattice units and W in meV.
- EXP : obj
Instrument object containing all information on experimental setup.
- METHOD : str
Specifies which 4D-integration method to use. ‘fix’ (Default): sample the cross section on a fixed grid of points uniformly distributed $phi$-space. 2*ACCURACY[0]+1 points are sampled along $phi_1$, $phi_2$, and $phi_3$, and 2*ACCURACY[1]+1 along $phi_4$ (vertical direction). ‘mc’: 4D Monte Carlo integration. The cross section is sampled in 1000*ACCURACY randomly chosen points, uniformly distributed in $phi$-space.
- ACCURACY : array(2) or int
Determines the number of sampling points in the integration.
- p : list
A parameter that is passed on, without change to sqw and pref.
Returns: - conv : array
Calculated value of the cross section, folded with the resolution function at the given $mathbf{Q}_0$
Notes
Translated from ResLib 3.4c, originally authored by A. Zheludev, 1999-2007, Oak Ridge National Laboratory