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 <boost/optional.hpp>
13#include <memory>
14
15namespace Mantid {
16namespace DataHandling {
17
25class MANTID_DATAHANDLING_DLL CreatePolarizationEfficienciesBase : public API::Algorithm {
26public:
27 const std::string category() const override;
28
29protected:
31 void initOutputWorkspace();
32 std::vector<std::string> getNonDefaultProperties(std::vector<std::string> const &props) const;
33
35 static std::string const Pp;
36 static std::string const Ap;
37 static std::string const Rho;
38 static std::string const Alpha;
39 static std::string const P1;
40 static std::string const P2;
41 static std::string const F1;
42 static std::string const F2;
43
44private:
45 void exec() override;
48 virtual API::MatrixWorkspace_sptr createEfficiencies(std::vector<std::string> const &labels) = 0;
49};
50
51} // namespace DataHandling
52} // namespace Mantid
Base class from which all concrete algorithm classes should be derived.
Definition: Algorithm.h:85
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.