Mantid
Loading...
Searching...
No Matches
BankCalibration.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2025 ISIS Rutherford Appleton Laboratory UKRI,
4// NScD Oak Ridge National Laboratory, European Spallation Source,
5// Institut Laue - Langevin & CSNS, Institute of High Energy Physics, CAS
6// SPDX - License - Identifier: GPL - 3.0 +
7
8#pragma once
9
10#include "MantidDataHandling/DllConfig.h"
12#include <map>
13#include <set>
14#include <vector>
15
17
18constexpr double IGNORE_PIXEL{1.e6};
19
24class MANTID_DATAHANDLING_DLL BankCalibration {
25public:
26 BankCalibration(const detid_t idmin, const detid_t idmax, const double time_conversion,
27 const std::map<detid_t, double> &calibration_map, const std::map<detid_t, double> &scale_at_sample,
28 const std::set<detid_t> &mask);
29 const double &value_calibration(const detid_t detid) const;
34 double value_scale_at_sample(const detid_t detid) const;
35 const detid_t &idmin() const;
36 detid_t idmax() const;
37
38private:
39 std::vector<double> m_calibration;
40 std::vector<double> m_scale_at_sample;
42};
43} // namespace Mantid::DataHandling::AlignAndFocusPowderSlim
Class that handles all the calibration constants for a bank of detectors.
int32_t detid_t
Typedef for a detector ID.