This is an implementation of an Ideal radial oscillating collimator,
which is usually placed between a polycrystalline sample and a linear
curved position sensitive detector on a 2-axis diffractometer like D20.
The transfer function has been implemented analytically, as this is
much more efficient than doing Monte-Caqrlo (MC) choices and to absorb
many neutrons on the absorbing blades. The function is basically triangular
(except for rather 'exotic' focuss apertures) and depends on the distance
from the projection of the focus centre to the plane perpendicular to the
collimator planes to the intersection of the same projection of the velocity
vector of the neutron with a line that is perpendicular to it and containing
the same projection of the focus centre. The oscillation is assumed to be
absolutely regular and so shading each angle the same way. All neutrons not
hitting the collimator core will be absorbed.
Example: Collimator_ROC(
ROC_pitch=5, ROC_ri=0.15, ROC_ro=0.3, ROC_h=0.15,
ROC_ttmin=-25, ROC_ttmax=135, ROC_sign=-1)

WARNING: This is a contributed Component.

Input parameters

Parameters in boldface are required;
the others are optional.