A template process for building Union surface processes
Author: Mads Bertelsen
Origin: University of Copenhagen
Date: 20.08.15
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
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. |
"" |
|
|
|||
|
|
|||
|
|
|||
Component source code found in file Template_surface.comp.