14#include "MantidCurveFitting/DllConfig.h"
21namespace CurveFitting {
40 std::string
name()
const override {
return "PawleyParameterFunction"; }
42 void setAttribute(
const std::string &attName,
const Attribute &attValue)
override;
60 void setProfileFunction(
const std::string &profileFunction);
61 void setLatticeSystem(
const std::string &latticeSystem);
65 void addLengthConstraint(
const std::string ¶meterName);
66 void addAngleConstraint(
const std::string ¶meterName);
96 std::string
name()
const override {
return "PawleyFunction"; }
98 void setMatrixWorkspace(std::shared_ptr<const API::MatrixWorkspace>
workspace,
size_t wi,
double startX,
99 double endX)
override;
101 void setLatticeSystem(
const std::string &latticeSystem)
override;
102 void setProfileFunction(
const std::string &profileFunction)
override;
103 void setUnitCell(
const std::string &unitCellString)
override;
109 calNumericalDeriv(domain, jacobian);
112 void setPeaks(
const std::vector<Kernel::V3D> &hkls,
double fwhm,
double height)
override;
113 void clearPeaks()
override;
116 size_t getPeakCount()
const override;
123 void setPeakPositions(
const std::string ¢reName,
double zeroShift,
const Geometry::UnitCell &cell)
const;
128 double getTransformedCenter(
double d)
const;
130 void init()
override;
IPeaksWorkspace_sptr workspace
Represent a domain for functions of one real argument.
Base class that represents the domain of a function.
A class to store values calculated by a function.
Attribute is a non-fitting parameter.
This is an interface to a fitting function - a semi-abstarct class.
Represents the Jacobian in IFitFunction::functionDeriv.
Implements the part of IFunction interface dealing with parameters.
The Pawley approach to obtain lattice parameters from a powder diffractogram works by placing peak pr...
PawleyParameterFunction_sptr m_pawleyParameterFunction
API::CompositeFunction_sptr m_compositeFunction
std::string name() const override
Returns the name of the function.
Kernel::Unit_sptr m_dUnit
API::CompositeFunction_sptr m_peakProfileComposite
std::vector< Kernel::V3D > m_hkls
void functionDeriv(const API::FunctionDomain &domain, API::Jacobian &jacobian) override
Derivates are calculated numerically.
Kernel::Unit_sptr m_wsUnit
This function is used internally by PawleyFunction to hold the unit cell parameters as well as the Ze...
std::string m_profileFunctionCenterParameterName
std::string getProfileFunctionCenterParameterName() const
Returns the name of the stored function's center parameter.
Geometry::PointGroup::LatticeSystem m_latticeSystem
std::string name() const override
Returns the function name.
std::string getProfileFunctionName() const
Returns the stored profile function name.
Class to implement unit cell of crystals.
std::shared_ptr< IPeakFunction > IPeakFunction_sptr
std::shared_ptr< IFunction > IFunction_sptr
shared pointer to the function base class
std::shared_ptr< CompositeFunction > CompositeFunction_sptr
shared pointer to the composite function base class
std::shared_ptr< PawleyFunction > PawleyFunction_sptr
std::shared_ptr< PawleyParameterFunction > PawleyParameterFunction_sptr
std::shared_ptr< Unit > Unit_sptr
Shared pointer to the Unit base class.
Helper class which provides the Collimation Length for SANS instruments.