Mantid
Loading...
Searching...
No Matches
FunctionQDepends.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2009 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#include "MantidCurveFitting/DllConfig.h"
13
14namespace Mantid {
15namespace CurveFitting {
16namespace Functions {
17
30class MANTID_CURVEFITTING_DLL FunctionQDepends : virtual public Mantid::API::IFunction1D,
31 virtual public Mantid::API::ParamFunction {
32
33public:
34 /* -------------------
35 Overridden methods
36 -------------------*/
37 virtual void declareAttributes() override;
38 virtual void setAttribute(const std::string &attName, const Mantid::API::IFunction::Attribute &attValue) override;
39 void setMatrixWorkspace(std::shared_ptr<const Mantid::API::MatrixWorkspace> workspace, size_t wi, double startX,
40 double endX) override;
41
42private:
43 std::vector<double> extractQValues(const Mantid::API::MatrixWorkspace &workspace);
44 // list of Q values associated to the spectra
45 std::vector<double> m_vQ;
46
47}; // end of class FunctionQDepends
48
49} // namespace Functions
50} // namespace CurveFitting
51} // namespace Mantid
IPeaksWorkspace_sptr workspace
This is a specialization of IFunction for functions of one real argument.
Definition IFunction1D.h:43
Attribute is a non-fitting parameter.
Definition IFunction.h:285
Base MatrixWorkspace Abstract Class.
Implements the part of IFunction interface dealing with parameters.
This is a specialization of IFunction1D for functions having the magnitude of the momentum transfer (...
Helper class which provides the Collimation Length for SANS instruments.