Updated by: Rodion Kolevatov, 2019
Update content: sets value of a global variable m_local_refl at each reflection
to the m-value of the coating or to -1 if missed the guide opening
Neutron straight guide with gravity. Can be channeled and focusing.
Waviness may be specified, as well as side chamfers (on substrate).
E. Farhi, Waviness+chamfers+nelements (Aug 19th 2003)
Models a rectangular straight guide tube centered on the Z axis, with
gravitation handling. The entrance lies in the X-Y plane.
The guide can be channeled (nslit,d,nhslit parameters). The guide coating
specifications may be entered via different ways (global, or for
each wall m-value).
Waviness (random) may be specified either globally or for each mirror type.
Side chamfers (due to substrate processing) may be specified the same way.
In order to model a realistic straight guide assembly, a long guide of
length 'l' may be splitted into 'nelements' between which chamfers/gaps are
The reflectivity may be specified either using an analytical mode (see
Component manual) or as a text file in free format, with 1st
column as q[Angs-1] and 2nd column as the reflectivity R in [0-1].
For details on the geometry calculation see the description in the McStas
There is a special rotating mode in order to approximate a Fermi Chopper
behaviour, in the case the neutron trajectory is nearly linear inside the
chopper slits, i.e. the neutrons are fast w/r/ to the chopper speed.
Slits are straight, but may be super-mirror coated. In this case, the
component is NOT centered, but located at its entry window. It should then
be shifted by -l/2.
Example: Guide_gravity(w1=0.1, h1=0.1, w2=0.1, h2=0.1, l=12,
R0=0.99, Qc=0.0219, alpha=6.07, m=1.0, W=0.003)
May 2005: extensive internal test, all problems solved
Validated by: nslit. Lieutenant
Example values: m=4 Qc=0.02 W=1/300 alpha=6.49 R0=1
WARNING: This is a contributed Component.
Parameters in boldface are required;
the others are optional.
Width at the guide entry
Height at the guide entry
Width at the guide exit. If 0, use w1.
Height at the guide exit. If 0, use h1.
length of guide
Critical scattering vector
Slope of reflectivity
m-value of material. Zero means completely absorbing. m=0.65
glass/SiO2 Si Ni Ni58 supermirror Be Diamond
m= 0.65 0.47 1 1.18 2-6 1.01 1.12
for glass/SiO2, m=1 for Ni, 1.2 for Ni58, m=2-6 for supermirror.
m=0.47 for Si
Width of supermirror cut-off
Number of vertical channels in the guide (>= 1)
(nslit-1 vertical dividing walls).
Thickness of subdividing walls
m-value of material for left. vert. mirror
m-value of material for right. vert. mirror
m-value of material for top. horz. mirror
m-value of material for bottom. horz. mirror
Number of horizontal channels in the guide (>= 1).
(nhslit-1 horizontal dividing walls).
this enables to have nslit*nhslit rectangular channels
Gravitation norm. 0 value disables G effects.
alpha-value of left vert. mirror
alpha-value of right vert. mirror
alpha-value of top horz. mirror
alpha-value of left horz. mirror
Global guide waviness
Partial waviness along propagation axis
Partial waviness in transverse direction for top/bottom mirrors
Partial waviness in transverse direction for left/right mirrors
Global chamfers specifications (in/out/mirror sides).
Input and output chamfers
Chamfers on left/right mirror sides
Chamfers on top/bottom mirror sides
Number of sections in the guide (length l/nelements).
Rotation frequency (round/s) for Fermi Chopper approximation
Phase shift for the Fermi Chopper approximation
Reflectivity file name. Format [q(Angs-1) R(0-1)]
.N_reflection: (1) Array of the cumulated Number of reflections.
N_reflection total nb of reflections,
N_reflection[1,2,3,4] l/r/t/b reflections,
N_reflection total nb neutrons exiting guide,
N_reflection total nb neutrons entering guide.