McStas logo McStas - A neutron ray-trace simulation package ILL; PSI; ESS Niels Bohr Institute DTU Physics

McStas

About McStas
 Conditions of use
 Authors/Contacts
 Project funding

Download
 Components

Mailing list

Search web/mailinglist

Documentation
 Wiki (GitHub)
 McStas manual
 Publications

Links

Report bugs (GitHub)

Code-repository (GitHub)


The Mirror_conic McStas Component

14.24  The Mirror_conic McStas Component

Single flat mirror plate using the conic.h reflection routines (test component)

Identification

  • Author: Peter Willendrup

  • Origin: DTU

  • Date: October 2026

Description

Test component for the reflection routines in conic.h (ConicTracer), which are used by e.g. Conics_*, FlatEllipse_finite_mirror and NMO. It models a single flat mirror so that the results can be compared directly with Mirror.comp.

The mirror lies in the local y-z plane at x=0, extending from z=0 to z=length and from y=-yheight/2 to y=yheight/2. Only neutrons arriving from the x<0 side (vx>0) interact; everything else passes unaffected. Each neutron interacts at most once.

conic=0: the mirror is a conic.h FlatSurf and is handled by reflectNeutronFlat(), which reflects with probability R and otherwise transmits the neutron unaffected. Compare with Mirror(transmit=1). conic=1: the mirror is a conic.h ConicSurf cylinder of (very large) radius 1 km, handled by reflectNeutronConic(), which always reflects and weights by R. Compare with Mirror(transmit=0). A Gaussian figure (slope) error can be applied via sigma_m and sigma_s; the default is 0 here, whereas the Conics_* components default to the conic.h values of 1 and 250 urad.

Example: Mirror_conic(length=1, yheight=0.1, m=2)

Input parameters

Parameters in boldface are required; the others are optional.

Name

Unit

Description

Default

length

m

Length of the mirror along z

1

yheight

m

Height of the mirror along y

0.1

R0

1

Low-angle reflectivity

0.99

Qc

Å\(^{-1}\)

Critical scattering vector

0.021

alpha

Å

Slope of reflectivity

6.07

m

1

m-value of material

2

W

Å\(^{-1}\)

Width of supermirror cut-off

0.003

conic

1

0: use FlatSurf/reflectNeutronFlat(), 1: use ConicSurf/reflectNeutronConic()

0

sigma_m

rad

RMS meridional slope (figure) error, conic=1 only; for grazing angles below 10*sigma_m the waviness model of Hansen et al., arXiv:1612.03763 is used

0

sigma_s

rad

RMS sagittal slope (figure) error, conic=1 only

0

Links

  • Component source code found in file Mirror_conic.comp.


Last Modified: Friday, 23-Oct-2026 18:32:09 CEST
Search website mailinglist archive GitHub repos