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

McStas

About McStas
 Conditions of use
 Authors/Contacts
 Project funding

Download
 Components
 Other Downloads (share)

Mailing list

Search web/mailinglist

Documentation
 Wiki (GitHub)
 McStas manual
 Publications

Links

Report bugs (GitHub)

Code-repository (GitHub)


McStas: MCViNE_DGSSXRes_process

[ Identification | Description | Input parameters | Links ]

The MCViNE_DGSSXRes_process Component

Union process: Resolution kernel for direct-geometry single-crystal spectrometers (aims at a pixel and TOF window).

Identification

  • Author: Fahima Islam (McStas port of the MCViNE DGSSXResKernel; MCViNE by J. Y. Y. Lin et al.)
  • Origin: MCViNE, https://github.com/mcvine/mcvine (mccomponents/lib/kernels/sample/DGSSXResKernel.cc)
  • Date: 2026-09-29

Description

Scatters towards a target disk (position target_x/y/z or target_index, radius
focus_r) and picks the arrival time at the target uniformly in
tof_at_target +/- dtof/2 (absolute neutron time, s). The final speed follows
from the flight distance. Weight: solid_angle/4pi * dtof * dE/dt * vf/vi, as in
MCViNE. Record ki/kf with monitors to build the resolution ellipsoid (similar
in purpose to McStas' TOFRes_sample, with MCViNE's weighting).

Union process. Part of the Union components: define this process, collect it
into a material with Union_make_material (absorption is set there with
my_absorption, the absorption inverse penetration depth at 2200 m/s), assign
the material to Union_box/Union_cylinder/Union_sphere/Union_mesh geometries,
and add a Union_master after them. Geometry, attenuation and multiple
scattering are handled by Union_master; this component provides the MCViNE
kernel: the scattering coefficient and the final-state sampling (weight).
Isotropic process (powder/liquid-like); rotation is irrelevant.
The target is the Union focusing of the geometry (target_index / target_x.. and
focus_r / focus_xw,focus_xh / focus_aw,focus_ah on Union_box etc.).
The kernel code is shared with the standalone component MCViNE_DGSSXRes (mcvine-lib.c).
Uses share/mcvine-lib.h/.c and share/mcvine-union-lib.h/.c; the process type
MCViNE is declared in share/union-lib.h and registered with Union_master in
share/mcvine-union-lib.h.

Example: MCViNE_DGSSXRes_process(focus_r=0.0125, tof_at_target=0.0052, dtof=1e-5, scattering_coefficient=10)

Input parameters

Parameters in boldface are required; the others are optional.
NameUnitDescriptionDefault
tof_at_targetsDesired absolute time of arrival at the target0.001
dtofsWidth of the time window1e-5
scattering_coefficientm^-1Scattering coefficient (inverse penetration depth for scattering)0
sigma_scatbarnAlternative: scattering cross section per unit cell (used when Vc>0)0
VcAA^3Unit cell volume; when >0 the coefficient is sigma_scat/Vc0
packing_factor1Packing factor (scales the scattering coefficient)1
interact_fraction1Union: fraction of interactions forced to this process (-1: by cross section)-1
initstringDeprecated and unused, accepted like on the other Union components (see Union_init).""
AT ( , , ) RELATIVE
ROTATED ( , , ) RELATIVE

Links

  • Source code for MCViNE_DGSSXRes_process.comp.
  • MCViNE documentation: https://mcvine.github.io

[ Identification | Description | Examples | Input parameters | Links ]

Generated on mcstas 3.9.2


Last Modified: Tuesday, 06-Oct-2026 21:19:12 CEST
Search website mailinglist archive GitHub repos