Mantid
Loading...
Searching...
No Matches
CreatePolarizationEfficienciesBase.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2014 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#include "MantidDataHandling/DllConfig.h"
12#include <memory>
13#include <optional>
14
15namespace Mantid {
16namespace DataHandling {
17
25class MANTID_DATAHANDLING_DLL CreatePolarizationEfficienciesBase : public API::Algorithm {
26public:
27 const std::string category() const override;
28
29protected:
30 void initOutputWorkspace();
31 std::vector<std::string> getNonDefaultProperties(std::vector<std::string> const &props) const;
32
34 static std::string const Pp;
35 static std::string const Ap;
36 static std::string const Rho;
37 static std::string const Alpha;
38 static std::string const P1;
39 static std::string const P2;
40 static std::string const F1;
41 static std::string const F2;
42
43private:
44 void exec() override;
47 virtual API::MatrixWorkspace_sptr createEfficiencies(std::vector<std::string> const &labels) = 0;
48};
49
50} // namespace DataHandling
51} // namespace Mantid
Base class from which all concrete algorithm classes should be derived.
Definition Algorithm.h:76
CreatePolarizationEfficienciesBase - the base class for algorithms that create polarization efficienc...
static std::string const Pp
Names of the efficiency properties.
virtual API::MatrixWorkspace_sptr createEfficiencies(std::vector< std::string > const &labels)=0
Create the output workspace with efficiencies.
std::shared_ptr< MatrixWorkspace > MatrixWorkspace_sptr
shared pointer to the matrix workspace base class
Helper class which provides the Collimation Length for SANS instruments.