Mantid
Loading...
Searching...
No Matches
WorkspaceJoiners.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2013 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//----------------------------------------------------------------------
12#include "MantidAPI/Algorithm.h"
13#include "MantidAlgorithms/DllConfig.h"
15
16namespace Mantid {
17namespace Algorithms {
25class MANTID_ALGORITHMS_DLL WorkspaceJoiners : public API::Algorithm {
26public:
28
29 const std::string category() const override;
30
32 const std::string summary() const override { return "Join two workspaces together by appending their spectra."; }
33
34protected:
35 ~WorkspaceJoiners() = default;
36
39 const DataObjects::EventWorkspace &eventWs2);
41 void checkCompatibility(const API::MatrixWorkspace &ws1, const API::MatrixWorkspace &ws2);
42 void getMinMax(const API::MatrixWorkspace &ws, specnum_t &min, specnum_t &max);
43
46 API::MatrixWorkspace &output) = 0;
47 std::unique_ptr<API::Progress> m_progress;
48};
49
50} // namespace Algorithms
51} // namespace Mantid
Base class from which all concrete algorithm classes should be derived.
Definition: Algorithm.h:85
std::map< std::string, std::string > validateInputs() override
Perform validation of ALL the input properties of the algorithm.
Definition: Algorithm.cpp:324
Base MatrixWorkspace Abstract Class.
A base class to hold code common to two algorithms that bolt two workspaces together spectra-wise - C...
std::unique_ptr< API::Progress > m_progress
Progress reporting object.
const std::string summary() const override
Summary of algorithms purpose.
virtual void fixSpectrumNumbers(const API::MatrixWorkspace &ws1, const API::MatrixWorkspace &ws2, API::MatrixWorkspace &output)=0
Abstract method to be implemented in concrete algorithm classes.
This class is intended to fulfill the design specified in <https://github.com/mantidproject/documents...
std::shared_ptr< MatrixWorkspace > MatrixWorkspace_sptr
shared pointer to the matrix workspace base class
std::shared_ptr< EventWorkspace > EventWorkspace_sptr
shared pointer to the EventWorkspace class
Helper class which provides the Collimation Length for SANS instruments.
int32_t specnum_t
Typedef for a spectrum Number.
Definition: IDTypes.h:16