// SPDX-FileCopyrightText: 2026 Filip Leonarski, Paul Scherrer Institute // SPDX-License-Identifier: GPL-3.0-only #pragma once #include #include "Rugnux.h" // ProcessConfig, ProcessMode class DiffractionExperiment; // Reconstruct an equivalent rugnux command line (including --mode azint / calibration) for a // configured run, so a job set up in the GUI can be handed off to a cluster. Covers the settings that // matter for the run, not every obscure flag; geometry is taken from the input file, so geometry // overrides are not emitted. calibrant_name is only used by ProcessMode::Calibration - the config // carries the calibrant's rings, and --calibrant takes the name they were resolved from. // output_prefix and write_process_h5 are where the run puts its files and whether a merging run writes // its _process.h5 too. std::string RugnuxCommandLine(const ProcessConfig &config, const DiffractionExperiment &experiment, const std::string &input_file, const std::string &output_prefix, bool write_process_h5, const std::string &calibrant_name = "");