\(\renewcommand\AA{\unicode{x212B}}\)
CalculateSlits v1¶
Summary¶
Calculates appropriate slit widths for reflectometry instruments based on the instrument setup, desired resolution, and desired footprint of the experiment.
See Also¶
Properties¶
Name |
Direction |
Type |
Default |
Description |
---|---|---|---|---|
Slit1Slit2 |
Input |
number |
Optional |
Distance between Slit 1 and Slit 2 in mm. Where Slit 1 and Slit 2 are the two slits before the sample holder. |
Slit2SA |
Input |
number |
Optional |
Offset in the beam direction in mm. (Due to Slit 2 being translatable in the vertical axis) |
Resolution |
Input |
number |
Optional |
The Resolution that you desire to obtain in the experiment |
Footprint |
Input |
number |
Optional |
The Footprint you wish to achieve for the experiment, in mm |
Angle |
Input |
number |
Optional |
Incident angle in degrees. |
Slit1 |
Output |
number |
Calculated Slit 1 width in mm |
|
Slit2 |
Output |
number |
Calculated Slit 2 width in mm |
Description¶
This algorithm can be used to calculate the slit dimensions to use for reflectometry instruments. It is effectively the inverse of NRCalculateSlitResolution v1.
CalculateSlits uses nothing but the input properties to calculate the output, specifically:
where \(\alpha\) is the angle in radians (conversion between degrees and radians is implemented by the algorithm).
Footprint¶
The footprint of the experiment is not necessarily instrument specific and can be thought of as the area of the sample that is reach by the beam during the experiment. When providing the value of the footprint to the algorithm it should be based on the footprint that you would wish to use for the experiment as this information cannot be taken directly from the instrument definition and is experiment-dependant.
Usage¶
s1, s2 = CalculateSlits(Slit1Slit2=1940.5, Slit2SA=364, Angle=0.7, Footprint=50, Resolution=0.03)
print("Slit 1: {:.3f} mm".format(s1))
print("Slit 2: {:.3f} mm".format(s2))
Slit 1: 1.078 mm
Slit 2: 0.344 mm
Categories: AlgorithmIndex | Reflectometry\ISIS
Source¶
C++ header: CalculateSlits.h
C++ source: CalculateSlits.cpp