Mantid
Loading...
Searching...
No Matches
ConvolutionFit.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
9#include "MantidAPI/Column.h"
11#include "MantidCurveFitting/DllConfig.h"
12
13namespace Mantid {
14namespace CurveFitting {
15namespace Algorithms {
16
19template <typename Base> class MANTID_CURVEFITTING_DLL ConvolutionFit : public Base {
20public:
21 const std::string name() const override;
22 int version() const override;
23 const std::string category() const override;
24 const std::string summary() const override;
25 const std::vector<std::string> seeAlso() const override;
26
27protected:
28 virtual API::ITableWorkspace_sptr processParameterTable(API::ITableWorkspace_sptr parameterTable) override;
29 std::map<std::string, std::string> getAdditionalLogStrings() const override;
30 std::map<std::string, std::string> getAdditionalLogNumbers() const override;
31 std::vector<std::string> getFitParameterNames() const override;
32
33private:
34 std::map<std::string, std::string> validateInputs() override;
35 bool isFitParameter(const std::string &name) const override;
36 bool throwIfElasticQConversionFails() const override;
38};
39
40} // namespace Algorithms
41} // namespace CurveFitting
42} // namespace Mantid
ConvolutionFit : Performs a QENS convolution fit.
std::shared_ptr< ITableWorkspace > ITableWorkspace_sptr
shared pointer to Mantid::API::ITableWorkspace
Helper class which provides the Collimation Length for SANS instruments.