[ Identification | Description | Examples | Input parameters | Links ]
NXdisk_chopper_image InstrumentA shadowgraph, not a simulation. A flat, monochromatic, perfectly collimated field larger than the disc falls on one parked chopper, and a PSD a millimetre behind it records what got through. With `abs_out = 1` everything but an opening absorbs -- the disc body, the hub, and the field outside the rim -- so the image *is* `slit_edges`, drawn as annular sectors between `yheight` and `radius`. Reading the geometry off the picture is the point: the arcs' outer radius is the disc's, their inner radius is the hub's, and their angular extents are the openings. The disc has five openings of five different widths (8, 15, 25, 40 and 60 degrees) at unevenly spaced angles. Nothing about it is symmetric, so any rotation of the image is distinguishable from any other -- which is what makes a scan of `park` legible as a movie rather than as an ambiguous flicker. One frame: mcstas-antlr NXdisk_chopper_image.instr ./NXdisk_chopper_image.out -n 262144 park=0 The movie, at five degrees a frame: mcrun NXdisk_chopper_image.instr park=0,355 -N 72 -n 262144 -d frames `-n` should be exactly `npix * npix` (262144 for the default 512). The source rasters one ray per pixel onto the PSD's own grid rather than sampling at random, so at that count every pixel gets exactly one ray, the image carries no shot noise at all, and successive frames differ only where the disc moved. A larger `-n` has to be a whole multiple or the last partial pass brightens one band of the image; a smaller one leaves the top of the frame black. Run it single-process. Under MPI the ray index is offset per node, which scrambles the raster. The same movie with the disc turning instead of parked, which exercises the other branch of the component's TRACE: mcrun NXdisk_chopper_image.instr nu=14 delay=0,-0.0714 -N 72 -n 262144 -d turning These are the same movie, frame for frame and pixel for pixel: rays cross the disc at t = 0, so a turning disc stands at `mark = -360 nu delay` and reaches the parked orientation `park` at `delay = -park / (360 nu)`. One period is `1/nu`, hence the -0.0714 for a full turn at 14 Hz. Checking the two against each other is the point -- the parked branch is the one a commissioning run uses and the turning branch is the one every simulation uses, and nothing else here makes them meet.
| Name | Unit | Description | Default |
| park | deg | where the disc's zero mark stands while parked; scan this for a movie | 0 |
| nu | Hz | signed rotation frequency; 0 (the default) parks the disc | 0 |
| delay | s | when the zero mark is on the beam, read only when nu is non-zero | 0 |
| beam_angle | deg | where the beam crosses the disc, from the zero mark | 0 |
| zero_angle | deg | from +y to the top-dead-centre pickup | 0 |
| disc_radius | m | outer radius of the disc | 0.35 |
| slit_height | m | radial clearance of the openings across the whole window | 0.30 |
| slit_width | m | width of the beam window on the disc; 0 leaves the openings unrestricted | 0 |
| lambda | AA | wavelength of the illuminating field | 2.0 |
| field | m | side of the square illuminated area and of the PSD | 0.72 |
| npix | 1 | pixels per side of the PSD, and rays per side of the raster | 512 |
NXdisk_chopper_image.instr.
[ Identification | Description | Examples | Input parameters | Links ]
Generated for mcstas 3.8.4