Source code for ess.snspowder.powgen.workflow
# SPDX-License-Identifier: BSD-3-Clause
# Copyright (c) 2024 Scipp contributors (https://github.com/scipp)
import sciline
from ess.powder import providers as powder_providers
from ess.powder.types import (
EmptyCanRun,
KeepEvents,
NeXusDetectorName,
SampleRun,
VanadiumRun,
)
from . import beamline
[docs]
def default_parameters() -> dict:
return {
KeepEvents[SampleRun]: KeepEvents[SampleRun](True),
KeepEvents[VanadiumRun]: KeepEvents[VanadiumRun](False),
KeepEvents[EmptyCanRun]: KeepEvents[EmptyCanRun](True),
NeXusDetectorName: "powgen_detector",
}
[docs]
def PowgenWorkflow() -> sciline.Pipeline:
"""
Workflow with default parameters for the Powgen SNS instrument.
"""
# The package does not depend on pooch which is needed for the tutorial
# data. Delay import until workflow is actually used.
from . import data
return sciline.Pipeline(
providers=powder_providers + beamline.providers + data.providers,
params=default_parameters(),
)
__all__ = ['PowgenWorkflow', 'default_parameters']