Mantid
Loading...
Searching...
No Matches
ExtractQENSMembers.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
12
13namespace Mantid {
14namespace Algorithms {
15
19public:
20 const std::string name() const override;
21 int version() const override;
22 const std::string category() const override;
23 const std::string summary() const override;
24
25private:
26 void init() override;
27 void exec() override;
28 std::map<std::string, std::string> validateInputs() override;
29
30 std::vector<Mantid::API::MatrixWorkspace_sptr> getInputWorkspaces() const;
31
32 std::vector<double> getQValues(const std::vector<Mantid::API::MatrixWorkspace_sptr> &workspaces);
33
34 std::vector<std::string> getAxisLabels(const Mantid::API::MatrixWorkspace_sptr &workspace, size_t axisIndex) const;
35
36 std::vector<std::string> renameConvolvedMembers(const std::vector<std::string> &members,
37 const std::vector<std::string> &newNames) const;
38
39 Mantid::API::MatrixWorkspace_sptr extractSpectrum(const Mantid::API::MatrixWorkspace_sptr &inputWS, size_t spectrum);
40
42 const Mantid::API::MatrixWorkspace_sptr &spectraWorkspace);
43
44 Mantid::API::WorkspaceGroup_sptr groupWorkspaces(const std::vector<std::string> &workspaceNames);
45
46 std::vector<Mantid::API::MatrixWorkspace_sptr>
47 createMembersWorkspaces(const Mantid::API::MatrixWorkspace_sptr &initialWS, const std::vector<std::string> &members);
48
49 void appendToMembers(const Mantid::API::MatrixWorkspace_sptr &resultWS,
50 std::vector<Mantid::API::MatrixWorkspace_sptr> &members);
51
52 void setNumericAxis(const std::vector<Mantid::API::MatrixWorkspace_sptr> &workspaces,
53 const std::vector<double> &values, size_t axisIndex) const;
54
55 std::vector<std::string> addMembersToADS(const std::vector<std::string> &members,
56 const std::vector<Mantid::API::MatrixWorkspace_sptr> &memberWorkspaces,
57 const std::string &outputWSName);
58};
59
60} // namespace Algorithms
61} // namespace Mantid
IPeaksWorkspace_sptr workspace
Definition: IndexPeaks.cpp:114
#define DLLExport
Definitions of the DLLImport compiler directives for MSVC.
Definition: System.h:53
Data processor algorithm to be used as a parent to workflow algorithms.
ExtractQENSMembers : Extracts the fit members from a QENS fit.
std::shared_ptr< WorkspaceGroup > WorkspaceGroup_sptr
shared pointer to Mantid::API::WorkspaceGroup
std::shared_ptr< MatrixWorkspace > MatrixWorkspace_sptr
shared pointer to the matrix workspace base class
Helper class which provides the Collimation Length for SANS instruments.