Mantid
Loading...
Searching...
No Matches
PeakShapeSpherical.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2015 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
11#include <boost/optional.hpp>
12#include <string>
13
14namespace Mantid {
15namespace DataObjects {
16
19class MANTID_DATAOBJECTS_DLL PeakShapeSpherical : public PeakShapeBase {
20public:
22 PeakShapeSpherical(const double &peakRadius, Kernel::SpecialCoordinateSystem frame,
23 std::string algorithmName = std::string(), int algorithmVersion = -1);
25 PeakShapeSpherical(const double &peakRadius, const double &peakInnerRadius, const double &peakOuterRadius,
26 Kernel::SpecialCoordinateSystem frame, std::string algorithmName = std::string(),
27 int algorithmVersion = -1);
29 std::string toJSON() const override;
31 PeakShapeSpherical *clone() const override;
33 std::string shapeName() const override;
35 bool operator==(const PeakShapeSpherical &other) const;
37 boost::optional<double> radius(RadiusType type = RadiusType::Radius) const override;
39 boost::optional<double> backgroundOuterRadius() const;
41 boost::optional<double> backgroundInnerRadius() const;
43 static const std::string sphereShapeName();
44
45private:
47 double m_radius;
49 boost::optional<double> m_backgroundInnerRadius;
51 boost::optional<double> m_backgroundOuterRadius;
52};
53
54} // namespace DataObjects
55} // namespace Mantid
double radius
Definition: Rasterize.cpp:31
PeakShapeBase : Base class for concrete PeakShapes containing common code.
Definition: PeakShapeBase.h:26
PeakShapeSpherical : PeakShape for a spherical peak.
boost::optional< double > m_backgroundInnerRadius
Background inner radius;.
boost::optional< double > m_backgroundOuterRadius
Background outer radius.
RadiusType
For selecting different radius types.
Definition: PeakShape.h:35
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)