Table of Contents
Name | Direction | Type | Default | Description |
---|---|---|---|---|
Workspace | Input | MatrixWorkspace | Mandatory | Workspace to calculate the instrument resolution of. |
TwoTheta | Input | number | Optional | Two theta scattering angle in degrees. |
FirstSlitName | Input | string | slit1 | Component name of the first slit. |
SecondSlitName | Input | string | slit2 | Component name of the second slit. |
VerticalGapParameter | Input | string | vertical gap | Parameter the vertical gap of each slit can be found in. |
ThetaLogName | Input | string | Theta | Name theta can be found in the run log as. |
Resolution | Output | number | Calculated resolution (dq/q). |
This algorithm takes a workspace and a value for two theta, and attempts to calculate the reflectometry resolution (dQ/Q) from them. If no value is provided for two theta then NRCalculateSlitResolution will attempt to fetch a value from the workspace’s log using the theta log name provided.
The effective inverse of this algorithm is CalculateSlits v1.
Proof
where gives is the beam divergence in radians. Parameter d1 is the vertical distance of Slit1 opening, d2 is the same for Slit2. parameter l is the distance between the slits in the beam direction. See figure above for reference.
The resolution is then calculated from:
ws = Load('INTER00013460')
res = NRCalculateSlitResolution(Workspace = ws, TwoTheta = 0.7 * 2)
print("Resolution: {:.4f}".format(res))
Resolution: 0.0340
Categories: AlgorithmIndex | Reflectometry\ISIS
C++ source: NRCalculateSlitResolution.cpp (last modified: 2019-06-04)
C++ header: NRCalculateSlitResolution.h (last modified: 2018-10-05)