Mantid
Loading...
Searching...
No Matches
SofQWNormalisedPolygon.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2012 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
12namespace Mantid {
13namespace DataObjects {
14class TableWorkspace;
15}
16namespace Algorithms {
17
40class MANTID_ALGORITHMS_DLL SofQWNormalisedPolygon : public Rebin2D {
41public:
45 const std::string name() const override;
46 const std::string alias() const override { return "SofQW3"; }
48 const std::string summary() const override {
49 return "Calculate the intensity as a function of momentum transfer and "
50 "energy.";
51 }
53 std::map<std::string, std::string> validateInputs() override;
55 int version() const override;
56 const std::vector<std::string> seeAlso() const override { return {"SofQW", "SofQWPolygon", "Rebin2D"}; }
58 const std::string category() const override;
59
60private:
62 void init() override;
64 void exec() override;
66 void initAngularCachesNonPSD(const API::MatrixWorkspace &workspace);
68 void initAngularCachesPSD(const API::MatrixWorkspace &workspace);
69 void initAngularCachesTable(const API::MatrixWorkspace &workspace, const DataObjects::TableWorkspace &widthTable);
70
73 std::vector<double> m_Qout;
75 std::vector<double> m_twoThetaLowers;
77 std::vector<double> m_twoThetaUppers;
79 int m_detNeighbourOffset{-1};
80};
81
82} // namespace Algorithms
83} // 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...
std::vector< double > m_twoThetaLowers
Array for the lower 2theta angles, in radians.
const std::string summary() const override
Summary of algorithms purpose.
std::vector< double > m_twoThetaUppers
Array for the upper 2theta angles, in radians.
const std::string alias() const override
function to return any aliases of the algorithm.
const std::vector< std::string > seeAlso() const override
Function to return all of the seeAlso algorithms related to this algorithm.
SofQWNormalisedPolygon()=default
Default constructor.
std::vector< double > m_Qout
Output Q axis.
TableWorkspace is an implementation of Workspace in which the data are organised in columns of same s...
Helper class which provides the Collimation Length for SANS instruments.