32 lines
823 B
C++
32 lines
823 B
C++
// SPDX-FileCopyrightText: 2025 Filip Leonarski, Paul Scherrer Institute <filip.leonarski@psi.ch>
|
|
// SPDX-License-Identifier: GPL-3.0-only
|
|
|
|
#ifndef JFJOCH_SCANRESULTGENERATOR_H
|
|
#define JFJOCH_SCANRESULTGENERATOR_H
|
|
|
|
#include <cstdint>
|
|
#include <mutex>
|
|
#include <optional>
|
|
#include <vector>
|
|
|
|
#include "UnitCell.h"
|
|
#include "DiffractionExperiment.h"
|
|
#include "JFJochMessages.h"
|
|
#include "ScanResult.h"
|
|
|
|
class ScanResultGenerator {
|
|
mutable std::mutex m;
|
|
std::optional<GridScanSettings> grid_scan;
|
|
std::optional<GoniometerAxis> goniometer_axis;
|
|
|
|
std::vector<ScanResultElem> v;
|
|
std::string file_prefix;
|
|
public:
|
|
explicit ScanResultGenerator(const DiffractionExperiment& experiment);
|
|
void Add(const DataMessage& message);
|
|
ScanResult GetResult() const;
|
|
};
|
|
|
|
|
|
#endif //JFJOCH_SCANRESULTGENERATOR_H
|