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

12.27  The Template_surface McStas Component

A template process for building Union surface processes

Identification

Description

This is a template for a new contributor to create their own surface process. The comments in this file are meant to teach the user about creating their own surface component, rather than explaining this one. For comments on how this code works, look in the Mirror_surface.comp. To add a new surface process, three changes are needed in union-lib.h: Add entry in surface enum (match your process) Add a pointer to your storage struct in surface_data_transfer_union Add an empty UNION_CASE_PHYSICS_SURFACE_<NAME> default and list it in UNION_CASES_PHYSICS_SURFACE; your SHARE section then defines the case

Part of the Union components, a set of components that work together and thus sperates geometry and physics within McStas. The use of this component requires other components to be used.

1) One specifies a number of processes using process components like this one 2) These are gathered into material definitions using Union_make_material 3) Geometries are placed using Union_box / Union_cylinder, assigned a material 4) A Union_master component placed after all of the above

Only in step 4 will any simulation happen, and per default all geometries defined before the master, but after the previous will be simulated here.

There is a dedicated manual available for the Union_components

Algorithm: Described elsewhere

Input parameters

Parameters in boldface are required; the others are optional.

Name

Unit

Description

Default

reflect

str

Name of reflectivity file. Format q(Å-1) R(0-1)

0

R0

1

Low-angle reflectivity

0.99

Qc

Å\(^{-1}\)

Critical scattering vector

0.0219

alpha

Å

Slope of reflectivity

6.07

m

1

m-value of material. Zero means completely absorbing.

2

W

Å\(^{-1}\)

Width of supermirror cut-off

0.003

init

string

Deprecated and unused. Accepted so that instruments written for McStas/McXtrace 3.8.7 and earlier, which name the Union_init component here, still compile.

""

Links