[ Identification | Description | Examples | Input parameters | Links ]

The NXdisk_chopper Component

A disc chopper with arbitrary openings,

Identification

Description

One component per physical disc, however many openings it has.

`DiskChopper` describes `nslit` *identical, evenly spaced* openings
so a chopper whose openings are neither identical nor evenly spaced
has to be emitted as a GROUP of several components.
This component takes the edges directly, so one disc is one component
and corresponds to one NeXus group.

It also stops. `DiskChopper` replaces a zero frequency with `omega = 1e-15`,
which leaves the disc permanently *open* rather than parked; here `nu = 0`
means the disc is stationary with its zero mark at `park_angle`, and a ray
passes only if an opening happens to be in front of the beam. That is what a
commissioning run with a parked chopper actually does.

Geometry follows `DiskChopper`: the beam crosses the disc a distance
`radius - yheight/2` from the spindle, and rays are located by
`atan2(x, y + delta_y)` about that crossing.

Where the beam crosses the disc is `beam_angle`, measured from the zero mark in
the same sense as `slit_edges` and `park_angle`. The default of 0 puts the beam
at the top of the disc, which is the only thing `DiskChopper` can express -- so
a caller that used to turn the whole component about its own z to bring the
right part of the disc to the top can stop, and say the angle instead. A disc
hanging above its beam is `beam_angle = 180`.

Examples

(Test cases in bold)

Input parameters

Parameters in boldface are required; the others are optional.
NameUnitDescriptionDefault
slit_edgesdegopening and closing edge of each slit, from the disc's zero mark, in pairs
n_edges1number of entries in slit_edges; must be even and non-zero0
radiusmouter radius of the disc0.35
yheightmradial clearance of the openings across the whole window; 0 means they reach the spindle0
xwidthmchord width of the beam window; 0 leaves the opening unrestricted0
nuHzsigned rotation frequency; 0 parks the disc at park_angle0
delayswhen the disc's zero mark is on the beam0
park_angledegwhere the zero mark stands while parked; only read when nu is 00
beam_angledegwhere the beam crosses the disc, from the zero mark, in the same sense as slit_edges; 0 puts the beam at the top of the disc0
zero_angledegfrom the component's +y axis to the top-dead-centre pickup; with beam_angle it says which way the spindle lies0
jitterstiming jitter applied to each ray0
abs_out1absorb rays that miss the disc entirely0
verbose1-1: silent, 0: errors, 1: warnings, 2: info, 3: details0
AT ( , , ) RELATIVE
ROTATED ( , , ) RELATIVE

Links


[ Identification | Description | Examples | Input parameters | Links ]

Generated on mcstas 3.8.4