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


About McStas
 Conditions of use
 Project funding

 Other Downloads (share)

Mailing list

Search web/mailinglist

 Wiki (GitHub)
 McStas manual


Report bugs (GitHub)

Code-repository (GitHub)

McStas: Union_logger_2D_kf_time

[ Identification | Description | Input parameters | Links ]

The Union_logger_2D_kf_time Component

Two dimensional logger of wavevector for a range of time bins


  • Site:
  • Author: Mads Bertelsen
  • Origin: University of Copenhagen
  • Date: 20.08.15


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
2) These are gathered into material definitions using Union_make_material
3) Geometries are placed using Union_box/cylinder/sphere, 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 this master, but after the previous will be simulated here.

There is a dedicated manual available for the Union_components

This logger logs a 2D projection of the final wavevector after each scattering
in the lab frame. It will do so for a number of time_bins, making it possible
to make a animation, but beware of memory / diskspace requirements.

A logger will log something for scattering events happening to certain volumes,
which are specified in the target_geometry string. By leaving it blank, all
geometries are logged, even the ones not defined at this point in the
instrument file. If a list og target_geometries is selected, one can further
narrow the events logged by providing a list of process names in target_process
which need to correspond with names of defined Union_process components.

To use the logger_conditional_extend function, set it to some integer value n
and make and extend section to the master component that runs the geometry.
In this extend function, logger_conditional_extend[n] is 1 if the conditional
stack evaluated to true, 0 if not. This way one can check what rays is logged
using regular McStas monitors. Only works if a conditional is applied to this

Input parameters

Parameters in boldface are required; the others are optional.
target_geometrystringComma seperated list of geometry names that will be logged, leave empty for all volumes (even not defined yet)"NULL"
target_processstringComma seperated names of physical processes, if volumes are selected, one can select Union_process names"NULL"
Q1_minA^-1Histogram boundery, min kf value for first axis-5
Q1_maxA^-1Histogram boundery, max kf value for first axis5
Q2_minA^-1Histogram boundery, min kf value for second axis-5
Q2_maxA^-1Histogram boundery, max kf value for second axis5
time_minsMinimum time0
time_maxsMaximum time1
Q_direction_1stringkf direction for first axis ("x", "y" or "z")"x"
Q_direction_2stringkf direction for second axis ("x", "y" or "z")"z"
filenamestringFilename of produced data file"NULL"
n11Number of bins for first axis90
n21Number of bins for second axis90
time_bins1Number of time bins10
order_total1Only log rays that scatter for the n'th time, 0 for all orders0
order_volume1Only log rays that scatter for the n'th time in the same geometry0
order_volume_process1Only log rays that scatter for the n'th time in the same geometry, using the same process0
logger_conditional_extend_index1If a conditional is used with this logger, the result of each conditional calculation can be made available in extend as a array called "logger_conditional_extend", and one would then acces logger_conditional_extend[n] if logger_conditional_extend_index is set to n-1
initstringName of Union_init component (typically "init", default)"init"


[ Identification | Description | Input parameters | Links ]

Generated on 2023-09-19 20:01:36

Last Modified: Tuesday, 16-Apr-2024 20:05:21 CEST
Search website mailinglist archive GitHub repos