Component Manual for the Neutron Ray-Tracing Package McStas, version 3.8.6

8.6  Phase space transformer - moving monochromator

Eventhough there exist a few attempts to write dedicated phase space transformer components, there is an elegant way to put a monochromator into move, by mean of the EXTEND keyword. If you define a SPEED parameter for the instrument, the idea is to change the coordinate system before the monochromator, and restore it afterwards, as follow in the TRACE section:

1DEFINE INSTRUMENT PST(SPEED=200, ...) 
2(...) 
3TRACE 
4(...) 
5COMPONENT Mono_PST_on=Arm() 
6AT ... 
7EXTEND %{ 
8  vx = vx + SPEED; // monochromator moves transversaly by SPPED m/s 
9%} 
10 
11COMPONENT  Mono=Monochromator(...) 
12AT (0,0,0) RELATIVE PREVIOUS 
13 
14COMPONENT Mono_PST_off=Arm 
15AT (0,0,0) RELATIVE PREVIOUS 
16EXTEND  %{ 
17  vz = vz - SPEED; // puts back neutron in static coordinate frame 
18%}

This solution does not contain acceleration, but is far enough for most studies, and it is very simple. In the latter example, the instance Mono_PST_on should itself be rotated to reflect according to a Bragg law.