Mantid
Loading...
Searching...
No Matches
IPawleyFunction.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/DllConfig.h"
12
13namespace Mantid {
14namespace API {
15
25class MANTID_API_DLL IPawleyFunction : public FunctionParameterDecorator {
26public:
28
30 virtual void setLatticeSystem(const std::string &crystalSystem) = 0;
31
33 virtual void setProfileFunction(const std::string &profileFunction) = 0;
34
36 virtual void setUnitCell(const std::string &unitCellString) = 0;
37
39 virtual void setPeaks(const std::vector<Kernel::V3D> &hkls, double fwhm, double height) = 0;
40
42 virtual void clearPeaks() = 0;
43
45 virtual void addPeak(const Kernel::V3D &hkl, double fwhm, double height) = 0;
46
48 virtual size_t getPeakCount() const = 0;
49
51 virtual IPeakFunction_sptr getPeakFunction(size_t i) const = 0;
52
54 virtual Kernel::V3D getPeakHKL(size_t i) const = 0;
55};
56
57using IPawleyFunction_sptr = std::shared_ptr<IPawleyFunction>;
58
59} // namespace API
60} // namespace Mantid
double height
Definition: GetAllEi.cpp:155
virtual void setUnitCell(const std::string &unitCellString)=0
Set the function parameters according to the supplied unit cell.
virtual IPeakFunction_sptr getPeakFunction(size_t i) const =0
Returns the profile function stored for the i-th peak.
virtual size_t getPeakCount() const =0
Returns the number of peaks in the function.
virtual void setPeaks(const std::vector< Kernel::V3D > &hkls, double fwhm, double height)=0
Assign several peaks with the same fwhm/height parameters.
virtual void setProfileFunction(const std::string &profileFunction)=0
Sets the name of the profile function used for the reflections.
virtual void addPeak(const Kernel::V3D &hkl, double fwhm, double height)=0
Add a peak with the given parameters.
virtual void setLatticeSystem(const std::string &crystalSystem)=0
A string that names the crystal system.
virtual void clearPeaks()=0
Removes all peaks from the function.
virtual Kernel::V3D getPeakHKL(size_t i) const =0
Returns the Miller indices stored for the i-th peak.
Class for 3D vectors.
Definition: V3D.h:34
std::shared_ptr< IPeakFunction > IPeakFunction_sptr
std::shared_ptr< IPawleyFunction > IPawleyFunction_sptr
Helper class which provides the Collimation Length for SANS instruments.