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

A.4  Polarisation components in McStas

The components below can be grouped by role:

As of McStas 3.x these are found in the optics and monitors component categories (not a dedicated “polarisation” category); a component is polarisation-aware precisely when its TRACE section reads and/or writes the particle’s spin state \((s_x,s_y,s_z)\).

A.4.1  Setting and analysing polarisation

A.4.2  Polarising monochromators, mirrors and guides

These all implement the physics of section A.2.2 (Eqs. ????): given reflectivities for spin up and down (\(R_\uparrow \), \(R_\downarrow \), either as {R0,Qc,alpha,m,W} parametrised curves via ref-lib’s StdReflecFunc, or as tabulated reflectivity files), the shared helper functions GetMonoPolFNFM, GetMonoPolRefProb, SetMonoPolRefOut and SetMonoPolTransOut (all in pol-lib) compute \(F_N\), \(F_M\), the reflection probability, and the outgoing polarisation for both the reflected and transmitted branches. Since a 2024 revision (E.B. Knudsen, P. Willendrup, H. Lee), all of these components treat a polarising reflection/transmission event as a projective quantum measurement along the mirror’s quantisation axis: the in-plane spin components are explicitly zeroed (\(s_x=s_z=0\)) at the point of interaction, before the new \(s_y\) is set by SetMonoPolRefOut/ SetMonoPolTransOut – reflecting that only the component of polarisation along the mirror’s up direction survives a measurement-like interaction of this kind.

A.4.3  Magnetic field components

See section A.3 for the shared precession algorithm and field functions used by these.

A.4.4  Polarisation-sensitive monitors

A.4.5  Samples and polarisation

Few McStas sample components currently propagate polarisation explicitly. The generic Incoherent component (the modern, general-purpose replacement for the historical, now-obsolete V_sample) can be parametrised to reproduce the classic depolarising-incoherent-scatterer result of section A.2’s nuclear-scattering example (\(\mathbf {P}' = -\tfrac 13\mathbf {P}\) per single incoherent scattering event, from the random projection of nuclear spin onto \(\hat \sigma _x\) and \(\hat \sigma _y\)); as noted there, this simple factor is only exact for a single scattering event, and multiple scattering must be handled with some care (consecutive depolarisation by \((-\tfrac 13)^n\) is only valid if each scattering order can be isolated). Magnetic (Bragg) scattering from an ordered magnetic structure, using the magnetic structure factor \(F_M\) of section A.1, is not yet implemented as a general sample component; Single_crystal and PowderN presently model only nuclear scattering and do not read or write the spin state.