User and Programmers Guide to the Neutron Ray-Tracing Package McStas, version 3.9

Index

%BUGS (McDoc section), 186
%D[ESCRIPTION] (McDoc section), 186
%E[ND] (McDoc section), 187
%EX[AMPLE] (McDoc section), 186
%I[DENTIFICATION] (McDoc section), 186
%IN[STRUMENT_SITE] (McDoc section), 187
%L[INK] (McDoc section), 187
%P[ARAMETERS] (McDoc section), 186
%VALIDATION (McDoc section), 186
%include (McStas keyword), 79, 152, 162, 327

ABSOLUTE (McStas keyword), 158
ABSORB (C macro, mcstas-r.h), 152, 159, 166, 174, 328
Absorption, 159, 174
adapt_tree-lib (library), 341
Adaptive sampling, 54
ALLOW_BACKPROP (C macro, mcstas-r.h), 174, 329
Arm, 347
AT (McStas keyword), 158
author (McDoc keyword), 186
Authors, 9

Backpropagation, 174
box_intersect (C function, mccode-r.c), 335
BROWSER (environment variable), 123
Bugs
    hard to detect, 32
    integer versus floating-point division, 158
    JUMPs, 167
    MPI, 135
    SPLIT, 168
    system errors, 91
    WHEN vs GROUP, 165

C code
    embedded, 152, 156, 157, 163
C functions, 327
Citing McStas, 23
Code generation
    options, 76
Comments, 147
Compilation
    failure, 152, 156, 184
    instrument definition, see mcstas (compiler)
COMPONENT (McStas keyword), 158
Component, 347
    declaration (TRACE), 158
    instance, 347
Constants, 343
Conversion
    of units, 343
Coordinate
    retrieval functions, 329
    system, 143
coords_add (C function, mccode-r.c), 332
coords_get (C function, mccode-r.c), 332
coords_set (C function, mccode-r.c), 332
COPY (McStas keyword), 164
cylinder_intersect (C function, mccode-r.c), 335

Data formats, 85, 100, 126, 127, 157, 175
date (McDoc keyword), 186
DECLARE (McStas keyword), 156, 173
DEFINE COMPONENT (McStas keyword), 170
DEFINE INSTRUMENT (McStas keyword), 153
Definition parameter, 347
DEFINITION PARAMETERS (McStas keyword), 170
DEG2RAD (constant), 343
DEPENDENCY (McStas keyword), 154, 172
Description
    McDoc section, 186
DETECTOR_OUT_0D (C macro, mccode-r.h), 175, 334
DETECTOR_OUT_1D (C macro, mccode-r.h), 176, 334
DETECTOR_OUT_2D (C macro, mccode-r.h), 177, 334
DETECTOR_OUT_3D (C macro, mccode-r.h), 179, 334
Direction focusing, 49
Documentation
    generator, see McDoc

EDITOR (environment variable), 99
Embedded C code, see C code
END (McStas keyword), 160, 181
Environment variables
    BROWSER, 123
    EDITOR, 99
    MCSTAS_FORMAT, 75, 85, 121, 126
    MCSTAS, 80, 327, 339
Error estimate, 47
Example
    McDoc section, 186
EXTEND (McStas keyword), 163, 183, 329

File
    search path, 79
FINALLY (McStas keyword), 160, 179
FLT_MAX (constant), 343
Focusing
    importance sampling, 49
Formats, see Data formats
FWHM2RMS (constant), 343

Graphical User Interface, see mcgui
Gravitation, 143
GROUP (McStas keyword), 163, 329
GUI, see mcgui

HBAR (constant), 343
HDF5, see NeXus format
HUP (signal), 93

Identification
    McDoc section, 186
Importance sampling
    direction focusing, 49
INDEX_CURRENT_COMP (C macro, mccode-r.h), 330
INHERIT (McStas keyword), 183
INITIALIZE (McStas keyword), 157, 174
Input parameter, 347
inside_rectangle (C function, mcstas-r.c), 335
Installation, 69
    directory, 80
Instrument, 347
Instrument definition, 153, 162
    units, 146, 154
Instrument site
    McDoc section, 187
INT (signal), 93, 160
ITERATE (McStas keyword), 166

JUMP (McStas keyword), 166

K2V (constant), 343
Kernel, 141–187, 347
Keywords, 151
    McDoc, 186–187
kill, 90

Language, see Meta-language
Library, 327
    adapt_tree-lib, 341
    Components
        data, 269, 271
    components, 80, 123, 159, 266
        data, 339
        share, 141, 152, 327
    mccode-r, 327
    mcstas-r, 327
    monitor_nd-lib, 340
    pol-lib, 203
    read_table-lib, 152, 337
    run-time, 81, 141, 152, 328
    shared, see Library/components/share
    vitess-lib, 342
Link
    McDoc section, 187

Mailing lists
    mcstas-users, 23
Mantid
    transfer events and monitor data, 256
MC_GETPAR (C macro, mccode-r.h), 173, 329
mccode-r (library), 327
mccoplot (McStas tool), 122
MCDISPLAY (McStas keyword), 179, 329
mcdisplay (McStas tool), 118
McDoc, 185–187
mcdoc (McStas tool), 123, 185
mcgui (McStas tool), 72–75, 98, 120, 121, 185
MCNP, 85
    exchange events, 261
MCPL, 85, 94
mcplot (McStas tool), 75, 86, 100, 108, 113, 121
mcplotdiff (McStas tool), 122
mcresplot (McStas tool), 122
mcrun (McStas tool), 112
MCSTAS (environment variable), 80, 327, 339
McStas
    authors, 9
    citing, 23
    compiler, see mcstas
    design, 34
    installation, 69
    mailing lists, 23
    meta-language, see Meta-language
    name, 348
    pronunciation, 348
    release scheme, 70
    running from the GUI, 72–75
    structure, 64, 67
mcstas (McStas compiler), 76
mcstas-jupylab (McStas tool), 114
mcstas-pygen (McStas tool), 79
mcstas-r (library), 327
mcstas2vitess (McStas tool), 342
MCSTAS_FORMAT (environment variable), 75, 85, 121, 126
mctest (McStas tool), 124
mcviewtest (McStas tool), 124
Meta-language, 34, 141
METADATA (McStas keyword), 168
Microsoft Windows, see Windows
MIN2RAD (constant), 343
MNEUTRON (constant), 343
modified by (McDoc keyword), 186
monitor_nd-lib (library), 340
Monte Carlo method, 44
    accuracy, 55
    adaptive sampling, 54
    direction focusing, 49
    stratified sampling, 54
MPI, 99, 128, 129
    basic usage, 130
    limitations, 135
    mcrun, 130
    performance, 131
MS Windows, see Windows
MYSELF (McStas keyword), 166

NAME_CURRENT_COMP (C macro, mccode-r.h), 330
Neutron
    absorption, 159, 174
    state (position, velocity, time, spin, weight), 146
    weight, see Weight
Neutron polarisation, see Polarisation
NEXT (McStas keyword), 166
NeXus, 99, 127
    extension, 157
NOACC (McStas keyword), 172
NORM (C macro, mccode-r.h), 333
normal_vec (C function, mccode-r.c), 333

Optimization, 83, 94
    compiler option, 82
origin (McDoc keyword), 186
Output parameter, 348
OUTPUT PARAMETERS (McStas keyword), 171, 173

Parallel computing, see MPI, 128
Parameters
    definition, 158, 170
    Instruments, 153
    instruments, 84, 85, 112
    McDoc section, 186
    optimization, 95, 112
    optional, default value, 84, 154, 171
    protecting, see Keyword/OUTPUT
    scans, 112
    setting, 158, 170
Path
    file search, 79
PI (constant), 343
Polarisation, 193
    field functions, 205
    precession algorithm, 203
    SimpleNumMagnetPrecession, 204
POS_A_COMP (C macro, mccode-r.h), 330
POS_A_COMP_INDEX (C macro, mccode-r.h), 330
POS_A_CURRENT_COMP (C macro, mccode-r.h), 330
POS_R_COMP_INDEX (C macro, mccode-r.h), 331
Preprocessor macros, 327
PREVIOUS (McStas keyword), 159, 166
PRISMA, 307
PROP_DT (C macro, mcstas-r.h), 328
PROP_GRAV_DT (C macro, mcstas-r.h), 329
PROP_NO_G_DT (C macro, mcstas-r.h), 329
PROP_NO_G_X0 (C macro, mcstas-r.h), 329
PROP_NO_G_Y0 (C macro, mcstas-r.h), 329
PROP_NO_G_Z0 (C macro, mcstas-r.h), 329
PROP_Z0 (C macro, mcstas-r.h), 174, 328
Propagation
    backward, 174

RAD2DEG (constant), 343
RAD2MIN (constant), 343
rand01 (C function, mccode-r.c), 335
randnorm (C function, mccode-r.c), 335
Random numbers
    generator, 321
    transformations, 319
randpm1 (C function, mccode-r.c), 335
randtriangle (C function, mccode-r.c), 336
randvec_target_circle (C function, mccode-r.c), 336
randvec_target_rect (C function, mccode-r.c), 336
randvec_target_rect_angular (C function, mccode-r.c), 336
read_table-lib (library), 337
RELATIVE (McStas keyword), 158
Release scheme, 70
Removed neutron events, 329
RESTORE_NEUTRON (C macro, mcstas-r.h), 331
RMS2FWHM (constant), 343
ROT_A_COMP (C macro, mccode-r.h), 330
ROT_A_CURRENT_COMP (C macro, mccode-r.h), 330
rot_apply (C function, mccode-r.c), 333
rot_copy (C function, mccode-r.c), 332
rot_mul (C function, mccode-r.c), 332
ROT_R_COMP (C macro, mccode-r.h), 330
ROT_R_CURRENT_COMP (C macro, mccode-r.h), 330
rot_set_rotation (C function, mccode-r.c), 332
rot_transpose (C function, mccode-r.c), 332
rotate (C macro, mccode-r.h), 333
ROTATED (McStas keyword), 159, 166
Run-time, 348

Sampling, 54
SAVE (McStas keyword), 160, 175
scalar_prod (C function, mccode-r.c), 333
SCATTER (C macro, mcstas-r.h), 163, 166, 174, 329, 331
SCATTERED (C macro, mccode-r.h), 163, 165, 175, 331
SE2V (constant), 343
SEARCH (McStas keyword), 155
Setting parameter, 348
SETTING PARAMETERS (McStas keyword), 170
SHARE (McStas keyword), 173, 327
SHELL (McStas keyword), 155
SIGHUP, 93
SIGINT, 93, 160
Signal handler, 90
    HUP signal, 93
    INT signal, 93, 160
    TERM signal, 93, 160
    USR1 signal, 93
    USR2 signal, 90, 93, 160
SIGTERM, 93, 160
SIGUSR1, 93
SIGUSR2, 90, 93, 160
solve_2nd_order (C function, mccode-r.c), 333
sphere_intersect (C function, mccode-r.c), 335
Spin-echo, 212
SPLIT (McStas keyword), 167
Statistics
    uncertainty, 47
STORE_NEUTRON (C macro, mcstas-r.h), 331
Stratified sampling, 54

Table_Free (C function, read_table-lib.c), 338
Table_Free_Array (C function, read_table-lib.c), 338
Table_Index (C function, read_table-lib.c), 338
Table_Info (C function, read_table-lib.c), 338
Table_Info_Array (C function, read_table-lib.c), 338
Table_Init (C function, read_table-lib.c), 337
Table_Read (C function, read_table-lib.c), 337
Table_Read_Array (C function, read_table-lib.c), 338
Table_Read_Offset (C function, read_table-lib.c), 337
Table_Read_Offset_Binary (C function, read_table-lib.c), 337
Table_Rebin (C function, read_table-lib.c), 338
Table_Value (C function, read_table-lib.c), 338
Table_Value2d (C function, read_table-lib.c), 338
TAS1, 290
TERM (signal), 93, 160
Time-of-flight spectrometer
    PRISMA, 307
Tools, 64
    external, see IDL, Matlab, NeXus, Perl, PGPLOT, VRML/OpenGL
    McStas, see mcdisplay, mcdoc, mcformat, mcgui, mcplot, mcresplot, mcrun, mcstas, mcstas2vitess
TRACE (McStas keyword), 158, 174
Triple-axis spectrometer
    TAS1, 290
Tripoli, 85

Union, 219–250
    algorithm, 244
    conditionals, 242
    exit volume, 237
    geometry, 231
    loggers, 239
    masks, 237
    master, 238
    materials, 231
    MCViNE, 228
    processes, 225
    surfaces, 239
    tagging, 242
    Union_init, 225
    Union_stop, 225
Units, 146
    constants and conversions, 343
USERVARS (McStas keyword), 156
USR1 (signal), 93
USR2 (signal), 90, 93, 160

V2K (constant), 343
Variance, 47
Variance reduction, 54
vec_prod (C function, mccode-r.c), 333
version (McDoc keyword), 186
Virtual sources, 54
Vitess, 85
vitess-lib (library), 342
VS2E (constant), 343

Weight, 46
    statistical uncertainty, 47
    transformation, 49
WHEN (McStas keyword), 165, 166
Windows
    file and directory names with spaces, 70
written by (McDoc keyword), 186