Source code for ess.tbl.workflow

# SPDX-License-Identifier: BSD-3-Clause
# Copyright (c) 2025 Scipp contributors (https://github.com/scipp)
"""
Default parameters, providers and utility functions for the TBL workflow.
"""

import sciline

from ess.reduce.time_of_flight.workflow import GenericTofWorkflow

from ..imaging.conversion import providers as conversion_providers
from ..imaging.types import (
    BeamMonitor1,
    NeXusMonitorName,
    PulseStrideOffset,
    SampleRun,
)


[docs] def default_parameters() -> dict: return { NeXusMonitorName[BeamMonitor1]: "monitor_1", PulseStrideOffset: None, }
providers = (*conversion_providers,)
[docs] def TblWorkflow(**kwargs) -> sciline.Pipeline: """ Workflow with default parameters for TBL. """ workflow = GenericTofWorkflow( run_types=[SampleRun], monitor_types=[BeamMonitor1], **kwargs ) for provider in providers: workflow.insert(provider) for key, param in default_parameters().items(): workflow[key] = param return workflow