Mantid
Loading...
Searching...
No Matches
SofQWPolygon.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2011 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// Includes
10//----------------------------------------------------------------------
13#include <list>
14
15namespace Mantid {
16namespace Algorithms {
17
41class MANTID_ALGORITHMS_DLL SofQWPolygon : public Rebin2D {
42public:
46 const std::string name() const override { return "SofQWPolygon"; }
47 const std::string alias() const override { return "SofQW2"; }
49 const std::string summary() const override {
50 return "Calculate the intensity as a function of momentum transfer and "
51 "energy.";
52 }
53
55 int version() const override { return 1; }
56 const std::vector<std::string> seeAlso() const override { return {"SofQW", "SofQWNormalisedPolygon", "Rebin2D"}; }
58 const std::string category() const override { return "Inelastic\\SofQW"; }
59
60private:
62 void init() override;
64 void exec() override;
66 void initCachedValues(const API::MatrixWorkspace_const_sptr &workspace);
68 void initThetaCache(const API::MatrixWorkspace &workspace);
69
72 std::vector<double> m_Qout;
74 std::vector<double> m_thetaPts;
77};
78
79} // namespace Algorithms
80} // namespace Mantid
IPeaksWorkspace_sptr workspace
Definition: IndexPeaks.cpp:114
Base MatrixWorkspace Abstract Class.
Rebins both axes of a two-dimensional workspace to the given parameters.
Definition: Rebin2D.h:24
Converts a 2D workspace that has axes of energy transfer against spectrum number to one that gives in...
Definition: SofQWPolygon.h:41
const std::string name() const override
Algorithm's name for identification.
Definition: SofQWPolygon.h:46
int version() const override
Algorithm's version for identification.
Definition: SofQWPolygon.h:55
double m_thetaWidth
Theta width.
Definition: SofQWPolygon.h:76
const std::vector< std::string > seeAlso() const override
Function to return all of the seeAlso algorithms related to this algorithm.
Definition: SofQWPolygon.h:56
const std::string alias() const override
function to return any aliases of the algorithm.
Definition: SofQWPolygon.h:47
const std::string summary() const override
Summary of algorithms purpose.
Definition: SofQWPolygon.h:49
std::vector< double > m_thetaPts
Input theta points.
Definition: SofQWPolygon.h:74
const std::string category() const override
Algorithm's category for identification.
Definition: SofQWPolygon.h:58
std::vector< double > m_Qout
Output Q axis.
Definition: SofQWPolygon.h:72
std::shared_ptr< const MatrixWorkspace > MatrixWorkspace_const_sptr
shared pointer to the matrix workspace base class (const version)
Helper class which provides the Collimation Length for SANS instruments.