Skip to content

Commit 17055b7

Browse files
authored
Merge pull request #188 from scipp/workflow-fixes
2 parents c228da6 + fc13e80 commit 17055b7

File tree

1 file changed

+16
-5
lines changed

1 file changed

+16
-5
lines changed

src/ess/dream/workflows.py

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ def _collect_reducer_software() -> ReducerSoftware:
9595
)
9696

9797

98-
def DreamWorkflow() -> sciline.Pipeline:
98+
def DreamWorkflow(**kwargs) -> sciline.Pipeline:
9999
"""
100100
Dream generic workflow with default parameters.
101101
The workflow is based on the GenericTofWorkflow.
@@ -104,10 +104,17 @@ def DreamWorkflow() -> sciline.Pipeline:
104104
105105
It can be used as is, or as a base for more specific workflows, such as
106106
``DreamPowderWorkflow``.
107+
108+
Parameters
109+
----------
110+
kwargs:
111+
Additional keyword arguments are forwarded to the base
112+
:func:`GenericTofWorkflow`.
107113
"""
108114
wf = GenericTofWorkflow(
109115
run_types=[SampleRun, VanadiumRun, EmptyCanRun],
110116
monitor_types=[BunkerMonitor, CaveMonitor],
117+
**kwargs,
111118
)
112119
wf[DetectorBankSizes] = DETECTOR_BANK_SIZES
113120
wf[NeXusName[BunkerMonitor]] = "monitor_bunker"
@@ -137,21 +144,23 @@ def default_parameters() -> dict:
137144
}
138145

139146

140-
def DreamPowderWorkflow(*, run_norm: RunNormalization) -> sciline.Pipeline:
147+
def DreamPowderWorkflow(*, run_norm: RunNormalization, **kwargs) -> sciline.Pipeline:
141148
"""
142149
Dream powder workflow with default parameters.
143150
144151
Parameters
145152
----------
146153
run_norm:
147154
Select how to normalize each run (sample, vanadium, etc.).
155+
kwargs:
156+
Additional keyword arguments are forwarded to the base :func:`DreamWorkflow`.
148157
149158
Returns
150159
-------
151160
:
152161
A workflow object for DREAM.
153162
"""
154-
wf = DreamWorkflow()
163+
wf = DreamWorkflow(**kwargs)
155164
for provider in itertools.chain(powder_providers, _cif_providers):
156165
wf.insert(provider)
157166
insert_run_normalization(wf, run_norm)
@@ -161,21 +170,23 @@ def DreamPowderWorkflow(*, run_norm: RunNormalization) -> sciline.Pipeline:
161170
return wf
162171

163172

164-
def DreamGeant4Workflow(*, run_norm: RunNormalization) -> sciline.Pipeline:
173+
def DreamGeant4Workflow(*, run_norm: RunNormalization, **kwargs) -> sciline.Pipeline:
165174
"""
166175
Workflow with default parameters for the Dream Geant4 simulation.
167176
168177
Parameters
169178
----------
170179
run_norm:
171180
Select how to normalize each run (sample, vanadium, etc.).
181+
kwargs:
182+
Additional keyword arguments are forwarded to the base :func:`DreamWorkflow`.
172183
173184
Returns
174185
-------
175186
:
176187
A workflow object for DREAM.
177188
"""
178-
wf = DreamWorkflow()
189+
wf = DreamWorkflow(**kwargs)
179190
for provider in itertools.chain(geant4_providers, powder_providers, _cif_providers):
180191
wf.insert(provider)
181192
insert_run_normalization(wf, run_norm)

0 commit comments

Comments
 (0)