Mantid
Loading...
Searching...
No Matches
FlatPlateAbsorption.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2010 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 {
61class MANTID_ALGORITHMS_DLL FlatPlateAbsorption : public AbsorptionCorrection {
62public:
66 const std::string name() const override { return "FlatPlateAbsorption"; }
68 const std::string summary() const override {
69 return "Calculates bin-by-bin correction factors for attenuation due to "
70 "absorption and scattering in a sample of 'flat plate' geometry.";
71 }
72
74 int version() const override { return (1); }
75 const std::vector<std::string> seeAlso() const override { return {"AbsorptionCorrection"}; }
76
77protected:
78 void initialiseCachedDistances() override;
79
80private:
81 void defineProperties() override;
82 void retrieveProperties() override;
83 std::string sampleXML() override;
84
85 double m_slabHeight;
86 double m_slabWidth;
94};
95
96} // namespace Algorithms
97} // namespace Mantid
A base class for absorption correction algorithms.
Calculates attenuation due to absorption and scattering in a flat plate/slab sample.
double m_ZSliceThickness
The thickness of a Z slice in m.
int m_numXSlices
The number of slices in X.
double m_slabThickness
The thickness of the sample in m.
double m_slabHeight
The height of the sample in m.
const std::string summary() const override
Summary of algorithms purpose.
double m_XSliceThickness
The thickness of an X slice in m.
double m_slabWidth
The width of the sample in m.
const std::string name() const override
Algorithm's name.
int m_numZSlices
The number of slices in Z.
int version() const override
Algorithm's version.
const std::vector< std::string > seeAlso() const override
Function to return all of the seeAlso algorithms related to this algorithm.
double m_YSliceThickness
The thickness of a Y slice in m.
int m_numYSlices
The number of slices in Y.
Helper class which provides the Collimation Length for SANS instruments.