Mantid
Loading...
Searching...
No Matches
ComptonPeakProfile.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
12#include "MantidCurveFitting/DllConfig.h"
13
14namespace Mantid {
15namespace CurveFitting {
16namespace Functions {
27class MANTID_CURVEFITTING_DLL ComptonPeakProfile : public API::ParamFunction, public API::IFunction1D {
28public:
31
32private:
33 std::string name() const override;
34
38 void function1D(double *out, const double *xValues, const size_t nData) const override;
40 void setUpForFit() override;
42 void setWorkspace(std::shared_ptr<const API::Workspace> ws) override;
44
45 void declareParameters() override;
46 void declareAttributes() override;
47 void setAttribute(const std::string &name, const Attribute &value) override;
48
50 size_t m_wsIndex;
52 double m_mass;
55
57 std::shared_ptr<API::IPeakFunction> m_gauss;
59 std::shared_ptr<API::IPeakFunction> m_voigt;
60
62 double m_efixed;
65};
66
67} // namespace Functions
68} // namespace CurveFitting
69} // namespace Mantid
double value
The value of the point.
Definition: FitMW.cpp:51
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:282
Implements the part of IFunction interface dealing with parameters.
Definition: ParamFunction.h:33
This implements a resolution function for fitting a single mass in a compton scattering spectrum.
std::shared_ptr< API::IPeakFunction > m_gauss
Gaussian function for lower-energy peaks.
std::shared_ptr< API::IPeakFunction > m_voigt
Voigt function for higher-energy peaks.
double m_hwhmLorentz
Calculated value of lorentz width.
double m_voigtCutOff
Below this value a Voigt is used for profile approximation.
Helper class which provides the Collimation Length for SANS instruments.