Mantid
Loading...
Searching...
No Matches
CylinderAbsorption.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2008 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
9//----------------------------------------------------------------------
10// Includes
11//----------------------------------------------------------------------
13
14namespace Mantid {
15namespace Algorithms {
73class MANTID_ALGORITHMS_DLL CylinderAbsorption : public AbsorptionCorrection {
74public:
78 const std::string name() const override { return "CylinderAbsorption"; }
80 const std::string summary() const override {
81 return "Calculates bin-by-bin correction factors for attenuation due to "
82 "absorption and single scattering in a 'cylindrical' sample.";
83 }
84
86 int version() const override { return (1); }
87 const std::vector<std::string> seeAlso() const override { return {"AbsorptionCorrection"}; }
88
89private:
90 void defineProperties() override;
91 void retrieveProperties() override;
92 std::string sampleXML() override;
93 void initialiseCachedDistances() override;
94 void getShapeFromSample(const Geometry::IObject &sampleShape, bool updateHeight, bool updateRadius);
95 std::map<std::string, std::string> validateInputs() override;
97 double m_cylHeight;
98 double m_cylRadius;
102};
103
104} // namespace Algorithms
105} // namespace Mantid
A base class for absorption correction algorithms.
Calculates attenuation due to absorption and scattering in a cylindrical sample.
const std::string summary() const override
Summary of algorithms purpose.
Kernel::V3D m_cylAxis
The axis orientation of the cylinder.
const std::string name() const override
Algorithm's name.
double m_cylRadius
The radius of the cylindrical sample in m.
const std::vector< std::string > seeAlso() const override
Function to return all of the seeAlso algorithms related to this algorithm.
int version() const override
Algorithm's version.
double m_cylHeight
The height of the cylindrical sample in m.
IObject : Interface for geometry objects.
Definition: IObject.h:41
Class for 3D vectors.
Definition: V3D.h:34
Helper class which provides the Collimation Length for SANS instruments.