There are two VITESS modules to simulate detectors:
The module screen monitors the neutrons arriving on a flat or banana shaped detector surface considering only the binning of the detector cells.
In contrast, the module detector simulates a 3D detector array consisting of rectangular or cylindrical elements.
It considers detection efficiency and different resolution effects
In the screen module, the spatial distribution of the neutrons on the screen is written to an output file, while the detector module needs to be followed by a monitor module for that; but it enables writing event files.
The module screen monitors the spatial distribution of neutrons arriving on a infinitely thin detector surface for 2 simple geometries:
(a) a rectangular shaped detector centered around the beam direction
(b) a banana shaped or cylindric detector with vertical symmetry axis, vertically centered around the beam axis.
The screen gives directly an output file of the intensity distribution over the detector, i.e. a monitor function is included.
Parameter Unit |
Descripton | Range, Examples | Command Option |
monitor file | The monitor output file contains the 2D intensity distribution on the detector | -O | |
geometry [-] |
The geometry parameter specifies the overall geometry of the detector, which can either be flat (i.e. rectangular) or cylindrical. | "flat", "cylindrical" | -G |
file format |
Choose between matrix style and the 'xyz' representation (readable by gnuplot and other analysis software). 'compact' means a shorter header and fewer digits in the written float numbers of the simulated count rate values 'integer' means that detector counts are written to the matrix, they are obtained by multiplying the count rate and the measurement time given in the source module. If no value is given, 60 s are assumed. Note that the g2 program cannot handle integer values properly. |
-F | |
height [cm] |
Height of the detector, both for the rectangular and the banana shaped detector | > 0, e.g. 50 | -h |
width [cm] |
Width of the rectangular detector. (Not used for the cylindrical detector geometry) | > 0, e.g. 300 | -w |
distance [cm] |
Distance from the center of the detector area to the origin (0,0,0), i.e. the sample center. In case of a cylindrical detector, this is the cylinder radius. | > 0, e.g. 100 | -D |
min. angle, max. angle [deg] |
Angular range covered by a cylindrical or banana shaped detector (Not used for the rectangular detector geometry). | -180° , 180° | -a, -A |
number of rows | Number of channels partitioning the detector height = number of vertical bins in the 2D monitor | ≥ 1 | -z |
number of columns | Number of channels partitioning the detector width = number of horizontal bins in the 2D monitor | ≥ 1 | -y |
The detector module simulates a 3D detector array, which may have a rectangular or cylindrical geometry.
The coordinate system (x,y,z) is defined by the preceding module (the origin being e.g. the centre of a sample) and
is not altered by the detector module. The centre of the detector
is given in spherical coordinates, with ϑ [0;180°]
the angle between the position vector and the +x-axis and φ [0;360°] the angle between the projection of
the position vector to the yz-plane and the +y-axis (ϑ>0;φ=0
points along the +y-axis, ϑ>0;φ=90°
along the +z-axis, a.s.o.). The distance (length of the position vector
pointing from the origin to the detector surface centre) has also to
be specified as well as the total height, width and thickness of the detector
and the rows, columns and layers defining the size and number of the position
sensitive areas.
Overall detector geometry
The centre of a rectangular (flat) detector can be every
point in space and is defined by the distance and the
angles ϑ and φ. The surface can be incline w.r.t. the
position vector by the angles ϑ_n and φ_n defining the
direction of the surface normal in the coordinate system which has the detector
position as x-axis. The surface is perpendicular to the position
vector for ϑ=0°.
The cylindrical detector is restricted to three orientations (the cylinder axis
will always point along one of the axes of the coordinate system) and the centre (=middle of the cylinder arch) of this detector type always
lies in the 0-plane perpendicular to the cylinder axis (i.e. z=0 for a cylinder
around the z-axis). The arch centre is defined with the angles described
above and the cylinder centre itself is always
fixed at the origin position (==> inner cylinder radius = distance to
detector arch centre).
Due to these restrictions, the following constraints apply to φ and ϑ
for a cylinder axis along the
- z-axis: φ=0° or 180° defines +y or -y direction
- y-axis: φ=0° or 180° defines +z or -z direction
- x-axis: ϑ=90° (will be set to 90° if other input is given), only
φ defines the arch position
The extension of the detector in direction of the cylinder axis is given by the
input variable height for all cylinder orientations, and the covered
angular range is calculated from the width and the distance
of the detector from the origin (= cylinder radius). The angular range is
then bordered by (detector surface centre +-width/(2*radius)).
Tube detector
A flat detector can be build from horizontally or vertically arranged tubes
with circular or rectangular cross-sections. In the flight path of the neutron
through the detector, only the detector volume containing
active material is taken into account in the calculation of interaction
probability and the scattering position; dead zones between circular tubes as
well as the tube walls (specified by the wall thickness) are treated as
vacuum. Different layers of detector tubes can be shifted against each other
(see fig. 1(b)).
The tubes option is not possible for cylindical geometry.
Interaction probability
First of all it is tested whether the neutron intersects the detector; if not, the
neutron is discarded. If the neutron intersects the detector, the flight path
through the detector is determined and the neutron will be written to the
output accordingly. The position of interaction along the flight path of
the neutron in the detector will be given by a Monte Carlo choice and the
neutron's probability weight is multiplied by the interaction probability
calculated from the total scattering cross-section σ, the particle density
N and the length until scattering l as
Nσ ⋅ exp(-Nσ ⋅l) ⋅ L/Nrep ⋅
εmod (1).
The total length in the detector L divided by the number of repetitions Nrep
is used as normalization and represents the distance over which the probability is assumed to be constant.
εmod is an optional modifyer that can be used to take
losses due to e.g. secondary particle production into account, since σ
contains only the interaction of neutrons with the absorber/converter
material. The wavelength dependence of this interaction is calculated by a
linear approximation from the tables at NNDC
(http://www.nndc.bnl.gov/sigma/index.jsp?as=10&lib=endfb7.1&nsub=10). Currently
implemented are 3He, 10B
and 6Li. The particle density N is calculated from either gas
pressure and temperature in case of 3He and BF3, or
directly given as input variable atom density for solid materials. The latter case assumes two converter layers per detector layer, i.e. the absolute converter thickness is 2 ⋅ number of layers ⋅ solid lauer thickness.
If other is chosen as absorber/converter material, a wavelength
independent interaction probability is calculated from εmod,
which then serves not as a modifyer but gives the overall efficiency.
Alternatively, the wavelength-dependent detection efficiency can be given via
an input file. In this case, the choice of active detector material will be
ignored and the efficiency taken from this file, hence it is independent of the path of the
neutron through the detector material.
Detector signal
In the usage normal mode, the position of detection and the direction between
the centre of the sample and the point of detection are written. This point of
detection given as detector signal is a 3-dimensional pixel center
determined by the number of rows, columns and layers in combination with the detector
height, width and thickness. These "pixels" can represent either a physical
pixel size (e.g. a tube diameter) or a digital pixel size caused by the
readout. Note that for detection with solid B or Li, two converter layers per detector layer are assumed, so each detection position (layer center) has two possible detection times (layer borders) for monochromatic neutrons with equal time-of-flight zero point.
If a non-zero resolution is given in either dimension, the
interaction point of the neutron with the detector is smeared by a gaussian
function before being shifted to the pixel center. (The standard deviation of
this gaussian is calculated from the FWHM given as input.) A spatial
uncertainty caused by e.g. the extension of the secondary particle cloud can
thus be taken into account.
All this as well as the probability calculation may be deactivated by
the monitor only option, i.e. the true interaction point is
written and the probability
weight of the neutron is not altered by the detector module, so the neutrons
are registered always with efficiency 1 and each point of the flightpath
within the active detector material is considered with equal chance to be
the point of detection. (The monitor option might lead to better statistics
because of the deactivation of the realistic detector thickness MonteCarlo.)
In the monitor only option, the incoming flight direction and the interaction
point with the detector are written to the output.
In the grid off mode, the neutron detection position is not
shifted to the 3-dimensional pixel center. Other than with the monitor only
mode, the resolution is taken into account; if the resolution is set to 0 in
all dimensions, the grid off mode yields the same output position as
the monitor only mode but with the neutron weight changed according to
the detection probability. The neutron direction is set to the normalized
vector of the written position (like in the usage normal mode).
Detector array
A complex detector shape can be build out of several detector parts by using
the detector module several times in a row and ticking the array box for
all but the last detector part. The first and intermediate detector parts will
then pass neutrons that don't intersect with them on to the next detector
module. The last part of the detector array discards neutrons that have not been
detected by any of the detector parts. Neutrons detected in different
sub-detectors of an array can be distinguished by usage of
the add color value. Note that this adds the given value to the color
property of the neutrons to allow distinction on several levels; if only
a seperation of different detector parts is needed, make sure the color of
incoming neutrons is the same (e.g. set it to 0 with the module spin_reset).
Output file
If a filename is given as Output filename, a file containing the 3D
position, time, probability weight and colour of each neutron will be written (event
mode output). In a detector array, only the last detector writes this file, which then contains the
neutrons detected in all sub-detectors. (The sub-detector in which a neutron
has been detected can be distinguished by use of the add color option in
each detector module.)
--------------------------------------
!!!!! Please make sure that no neutron from the input stream starts already
within the detector (having a finite thickness) itself. In case of cylindric geometry:
All neutrons initially have to lie within the cylinder of radius = distance to
detector. !!!!!!
--------------------------------------
Note: Visualization of a cylindrical detector is only possible for width < 2 π distance (round down amply)
Parameter Unit |
Descripton | Range, Examples | Command Option |
array (first or intermediate part) [-] |
Tick this box if other detector modules follow. All neutrons are then passed to the following module, otherwise neutrons not intersecting this detector part will be discarded. Hence don't tick this box when using a single detector module. | ON, OFF | -B |
geometry [-] |
The geometry parameter specifies the overall geometry of the detector, which can either be flat (i.e. rectangular) or cylindrical. | "flat", "cylindrical" | -G |
type [-] |
The detector can be either a tube or an area/volume detector. A tube detector is only possible in combination with an overall flat detector geometry. | "tubes", "area/volume" | -a |
usage [-] |
If the usage option monitor only is selected, the detector geometry is only used as a monitor,
i.e. the weight of the trajectory and the flight direction are unchanged, the intersection point with the detector is written to the output. For the two other options, thickness, efficiency and wavelength are used to calculate a count rate that can be expected in experiments. If the normal or standard option is chosen, the position of detection is shifted to the nearest pixel center. For grid off this is not done, but in both cases resolution effects are taken into account by considering a diffusion before detection. (See section Detector signal above.) |
"monitor only", "grid off", "normal" | -U |
repetition [-] |
'repetition' specifies the number of neutron data sets generated for each trajectory arriving at the detector, i.e. the detection process is repeated 'repetition' times. This can improve statistics, but be aware that these are not independent events. | ≥ 1 | -A |
min color max colour [-] |
minimal and maximal color necessary for the trajectory to be evaluated min_color=-1 means: all trajectories are evaluated, otherwise neutron color must be ≤ min_color |
≥ -1 | -q -Q |
add colour [-] |
Add value to color property after detection. A negative number means no change. Note that a value larger 0 is not set, but ADDED to the value of the incoming neutron; the module spin_reset can be used to reset the color before the detector array if only a distinction between sub-detectors is desired. |
-S | |
keep wrong colour [-] |
if activated, then neutrons outside the colour selection will be passed on to the next module untouched. Otherwise, these neutrons are discarded (default). Only relevant if min_color and/or max_color is used. | ≥ -1 | -d |
phi [deg] |
Angle phi of the middle of the detector surface, i.e. the angle between the projection of the position vector to the yz-plane and the +y-axis. For cylindrical geometry and a cylinder axis along the z or y axis, phi must be 0° oder 180°! | 0° ≤ θ ≤ 360° | -P |
theta [deg] |
Angle theta of the middle of the detector surface. Theta is defined as the angle between the position vector (pointing from the origin to the detector surface centre) and the +x-axis. For cylindrical geometry and a cylinder axis along the x axis, theta is set to 90° (i.e. the position of the cylinder arch is solely defined by phi). | 0° ≤ θ ≤ 180° | -T |
distance [cm] |
Distance from the centre of the detector surface to the origin (0,0,0), i.e. the sample center\nIn case of a cylindrical detector this is the inner cylinder radius. | > 0 | -D |
height, width, thickness [cm] |
Height, width and thickness give the dimensions of the detector in vertical direction, horizontal directíon and along the beam direction. In the case of a cylindrical detector, the width is the length of the cylinder arch. | e.g. cylinder: 50, 200, 2 | -h, -w, -t |
number of rows | Number of rows partitioning the detector height. They can be horizontal tubes or digitalization channels. | ≥ 1 | -r -c |
number of columns | Number of columns partitioning the detector width. They can be vertical tubes or digitalization channels. | ≥ 1 | -c |
number of layers | Number of layers partitioning the detector thickness. They can be physical layers or digitalization channels in a volume detector). If it is a tube detector, thickness/layers must be equal to either height/rows or width/columns. | ≥ 1 | -n |
hor./vert. resolution [cm] |
Horizontal and vertical resolution: uncertainties in the position of the neutron detection in y and z direction (in addition to a shift caused by pixel size and error by parallax effect). 0 means no uncertainty (i.e. perfect resolution). |
≥ 0 | -u, -v |
resolution in x [cm] |
Resolution in neutron flight direction: uncertainties in the depth of the neutron detection (in addition to a shift caused by pixel size and error by parallax effect). 0 means no uncertainty (i.e. perfect resolution). |
≥ 0 | -l |
absorber/converter type | Material interacting with the incoming neutrons, the total scattering cross-section of which determines the detection efficiency. If other is chosen, a fixed efficiency of value efficiency modifyer is used. The choice of material is ignored if an efficiency file is given. If a solid material is chosen, the neutron path length through the detector (used to calculate the efficiency) will be scaled by (solid layer thickness / thickness). | "BF3 gas" "3He gas" "solid B10" "solid Li6" "other" | -m |
pressure or layer thickness [bar] or [cm] |
The interpretation of this input variable depends on the choice of absorber/converter type: gas pressure in bar for gaseous material, or thickness of the solid material in cm (primary interaction). | ≥ 0 | -p |
gas temperature or atomic density [K] or [1e27/m^3] |
The interpretation of this input variable depends on the choice of absorber/converter type: temperature of gas in K for gaseous material, or atom density of particles interacting with the neutrons in solid material (the particle density N in formula (1) above). | ≥ 0 | -k |
lambda efficiency file | Input file containing two columns with wavelength and efficiency. If such a file is given, the effieciency will be taken from there independently of the choice of absorber/converter type and independtly of the neutron path through the detector material. | -E | |
efficiency modifyer |
Factor to modify the efficiency calculated from the interaction cross-section with the chosen material, e.g. for losses due to secondary particle detection etc. If other material is chosen, this value is used as a wavelength independent probability of detection within [0,thickness], i.e. for neutrons passing perpendicular to the detector surface through the detector; for neutrons having an inclination to the detector it is slightly higher. The efficiency has to be within [0;1[ in this case. Otherwise, this factor can be larger than 1 (since VITESS 3.2) to account for cases in which only a fraction of the real detector is simulated. It is also taken into account if the efficiency is read from an input file. A value of 1 means no modification to the efficiency. |
> 0 | -e |
phi_n [deg] |
Angle φ of the detector back surface normal (pointing away from the sample) defined analog to the angle φ of the detector position. Phi_n is defined in a coordinate system with origin at the center of the detector and axes parallel to the detector axes, obtained from the original coordinate system by rotating the x-axis onto the detector position vector. Phi_n is then the angle between projection of surface normal onto (y',z') plane and +y' axis, where y' and z' are y and z after rotation of x onto the position vector. | 0° ≤ θ ≤ 360° | -V |
theta_n [deg] |
Angle θ of the detector back surface normal (pointing away from the sample) defined analog to the angle θ of the detector position (but constrained to 90° such that detector front and back side cannot be interchanged). Theta_n is defined in a coordinate system with origin at the center of the detector and axes parallel to the detector axes, obtained from the original coordinate system by rotating the x-axis onto the detector position vector. Theta_n is the angle between the surface normal and the new +x axis (i.e. between surface normal and position vector). Hence the surface is perpendicular to the position vector for theta_n=0° (default). | 0° ≤ θ ≤ 180° | -W |
axis orientation | Choose the orientation of the cylinder axis as z, y or x axis. Constraints on theta and phi following from this choice are explained above (section Overall detector geometry). | "x", "y", "z" | -x |
constant phi | Tick this box if the pixel size in the cylinder height dimension is not uniformely thickness/NRows, but variable such that a constant angular width δφ defines the pixel size. | ON, OFF | -z |
Output filename | Name of file to which detector output is written. Ignored for first or intermediate parts of an detector array, for which the last sub-detector writes the combined detector output. In event mode (default and currently only), the 3D position, time, probability weight and colour of each detected neutron are written. | > 0 | -O |
Last modified: Tue May 8 17:08:06 MET DST 2001