Mantid
Loading...
Searching...
No Matches
PeakShapeDetectorBin.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2024 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#pragma once
8
10#include <vector>
11
12namespace Mantid {
13namespace DataObjects {
14
17class MANTID_DATAOBJECTS_DLL PeakShapeDetectorBin : public PeakShapeBase {
18public:
19 PeakShapeDetectorBin(const std::vector<std::tuple<int32_t, double, double>> &detectorBinList,
20 Kernel::SpecialCoordinateSystem frame, std::string algorithmName = std::string(),
21 int algorithmVersion = -1);
23 bool operator==(const PeakShapeDetectorBin &other) const;
24
26 std::string toJSON() const override;
28 Mantid::Geometry::PeakShape *clone() const override;
30 std::string shapeName() const override;
31
33 std::optional<double> radius(RadiusType) const override { return std::nullopt; }
34
35 static const std::string detectorBinShapeName();
36
37 const std::vector<std::tuple<int32_t, double, double>> &getDetectorBinList() const { return m_detectorBinList; }
38
39private:
40 std::vector<std::tuple<int32_t, double, double>> m_detectorBinList;
41};
42
43using PeakShapeDetectorTOF_sptr = std::shared_ptr<PeakShapeDetectorBin>;
44using PeakShapeDetectorTOF_const_sptr = std::shared_ptr<const PeakShapeDetectorBin>;
45
46} // namespace DataObjects
47} // namespace Mantid
PeakShapeBase : Base class for concrete PeakShapes containing common code.
PeakShapeDetectorBin : PeakShape representing detector ids and integration limits of a peak.
std::optional< double > radius(RadiusType) const override
PeakBase interface.
std::vector< std::tuple< int32_t, double, double > > m_detectorBinList
const std::vector< std::tuple< int32_t, double, double > > & getDetectorBinList() const
PeakShape : Abstract type to describes the shape of a peak.
Definition PeakShape.h:20
RadiusType
For selecting different radius types.
Definition PeakShape.h:35
std::shared_ptr< PeakShapeDetectorBin > PeakShapeDetectorTOF_sptr
std::shared_ptr< const PeakShapeDetectorBin > PeakShapeDetectorTOF_const_sptr
SpecialCoordinateSystem
Special coordinate systems for Q3D.
Helper class which provides the Collimation Length for SANS instruments.
constexpr bool operator==(const wide_integer< Bits, Signed > &lhs, const wide_integer< Bits2, Signed2 > &rhs)