Skip to content

Measurement Tools

The Tools panel turns a click or a drag on the live display into a real measurement, computed by the simulation on the same dataset and geometry as the render. Any result can be exported to HDF5 from the panel.

Tool Input Result
Tracer click Field values along the camera ray, against physical path length
Histogram (2D pixels) drag rect Distribution of displayed pixel values in the rectangle
Histogram (3D cells) drag rect Distribution of a 3D cell field over the cells the rectangle covers
Absorption (Lyα) click τ(λ) along the sightline, from SightlineOperator

Depth and grid mode

Tracer and Absorption share two extra controls.

Depth, in box-size units, sets how far each ray integrates. 0 displays as auto and means what the simulation itself does: the run's dist_max if one is set, otherwise the box exit. Any positive value caps the ray shorter.

Grid turns a click into a drag: the rectangle becomes an n×n fan of rays, with every profile overlaid in one plot.

Absorption

A toggle switches the plot between optical depth τ(λ) and transmitted flux e−τ. The window is ±window_kms around the line centre, sampled into the number of spectral pixels set by the slider.

Orientation

SightlineOperator puts the observer at ray_end, so its direction runs source → observer and d·v > 0 is a blueshift. A camera ray runs the other way, so the tool hands its segment over reversed. Emitting it in camera order instead mirrors every spectrum in velocity — with no other visible symptom, which is how it shipped that way once. The geometry is now pinned by tests/tests_camera_sightline.cpp and by orientation-sensitive gates in regression_tests/CI/sightline_absorption.

Requirements

The tool declines with a warning rather than ending the run if:

  • the run is multi-rank, or uses pbc: true (the sightline is an explicit-ray operator), or
  • any of Density, Temperature, VelocityX, VelocityY, VelocityZ, HIdensity is not loaded — Lyα optical depth needs all six.

In grid mode, rays that miss the domain keep their slot and come back empty.