A sample component to separate geometry and phsysics
Identification
Site:
Author: Mads Bertelsen
Origin: University of Copenhagen
Date: 20.08.15
Description
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 position of each scattering in the lab frame.
This logger needs to be placed in space, the position is the center of the histogram.
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
logger.
Input parameters
Parameters in boldface are required;
the others are optional.
Name
Unit
Description
Default
target_geometry
string
Comma seperated list of geometry names that will be logged, leave empty for all volumes (even not defined yet)
"NULL"
target_process
string
Comma seperated names of physical processes, if volumes are selected, one can select Union_process names
"NULL"
D_direction_1
string
Direction for first axis ("x", "y" or "z")
"x"
D1_min
1
histogram boundery, min position value for first axis
-5
D1_max
1
histogram boundery, max position value for first axis
5
n1
1
number of bins for first axis
90
D_direction_2
string
Direction for second axis ("x", "y" or "z")
"z"
D2_min
1
histogram boundery, min position value for second axis
-5
D2_max
1
histogram boundery, max position value for second axis
5
n2
1
number of bins for second axis
90
filename
string
Filename for logging output
"NULL"
order_total
1
Only log rays that scatter for the n'th time, 0 for all orders
0
order_volume
1
Only log rays that scatter for the n'th time in the same geometry
0
order_volume_process
1
Only log rays that scatter for the n'th time in the same geometry, using the same process
0
logger_conditional_extend_index
1
If 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