You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Loki (and many other instruments) will have multiple detector banks. We need to handle this in a convenient manner. Eventually this will likely also require input from IDS/IS (at least in certain cases), but I believe our current understanding is sufficient to proceed:
Multiple banks (NXdetector groups in a Nexus file) will be handled using a param table in Sciline.
Note: implementation details may change regarding Sciline and param tables, but this is mostly orthogonal to what we need to do here, i.e., we can proceed).
Split loading of monitors and detector data #82 (comment) mentions loading of non-monitor and non-detector data. This will be required in the medium-term future (sample logs, chopper logs, ...), but currently we are not using any of that information. That is, we can essentially ignore this aspect for now, since it can easily be added later.
Gather results from all banks once we are in $(Q, \lambda)$ or $Q$, but before normalization, sum (concat if events) them.
Will we have a different direct-beam for the other banks? This is probably easy to implement, by including direct beam files in the param table, if required
You can assume that position information is self-contained, i.e., there are no depends_on chains leading outside a detector. We can thus directly use snx.compute_positions on the individual detector.
Add a filter to the existing load function such that no detectors are loaded there. This is essential to avoid potential massive overhead from large event-mode detectors.
The functions for "extracting" detectors for the loaded data probably need to preserved for supporting legacy NeXus files (ISIS). They should be moved to that submodule if feasible.
Add a step for merging intermediate results before performing the normalization. This will require merging the numerator as well as the denominator (the denominator depends on the detector bank via the solid-angle factor). Tracked in Explicit merge / accumulation strategies and customization points #97.
The text was updated successfully, but these errors were encountered:
SimonHeybrock
changed the title
Load banks separately and handle multiple banks
Load detectors separately and handle multiple detector banks
Feb 26, 2024
Loki (and many other instruments) will have multiple detector banks. We need to handle this in a convenient manner. Eventually this will likely also require input from IDS/IS (at least in certain cases), but I believe our current understanding is sufficient to proceed:
sum
(concat
if events) them.Complications, to ignore for now:
Summary of work to be performed:
NXentry/NXinstrument
. The detector names are defined in the workflow, either as a single paramDetectorName
(when processing a single bank), or as asciline.ParamTable
(or using https://scipp.github.io/sciline/generated/classes/sciline.Pipeline.html#sciline.Pipeline.set_param_series).depends_on
chains leading outside a detector. We can thus directly usesnx.compute_positions
on the individual detector.The text was updated successfully, but these errors were encountered: