Mantid
|
An interface to a peak function, which extend the interface of IFunctionWithLocation by adding methods to set and get peak width. More...
#include <IPeakFunction.h>
Public Member Functions | |
virtual void | fixIntensity (bool isDefault=false) |
Fix a parameter or set up a tie such that value returned by intensity() is constant during fitting. More... | |
void | function (const FunctionDomain &domain, FunctionValues &values) const override |
Evaluates the function for all arguments in the domain. More... | |
void | function1D (double *out, const double *xValues, const size_t nData) const override |
General implementation of the method for all peaks. More... | |
void | functionDeriv1D (Jacobian *out, const double *xValues, const size_t nData) override |
General implementation of the method for all peaks. More... | |
virtual void | functionDerivLocal (Jacobian *jacobian, const double *xValues, const size_t nData) |
Derivative evaluation method. Default is to calculate numerically. More... | |
virtual void | functionLocal (double *out, const double *xValues, const size_t nData) const =0 |
Function evaluation method to be implemented in the inherited classes. More... | |
virtual double | fwhm () const =0 |
Returns the peak FWHM. More... | |
std::string | getCentreParameterName () const |
Get name of parameter that is associated to centre. More... | |
virtual std::pair< double, double > | getDomainInterval (double level=DEFAULT_SEARCH_LEVEL) const |
Get the interval on which the peak has all its values above a certain level. More... | |
virtual std::string | getWidthParameterName () const |
Get the name of the parameter that is changed when the fwhm is changed. More... | |
virtual double | intensity () const |
Returns the integral intensity of the peak. More... | |
virtual double | intensityError () const |
Error in the integrated intensity of the peak due to uncertainties in the values of the fit parameters. More... | |
IPeakFunction () | |
Constructor. More... | |
virtual void | setFwhm (const double w)=0 |
Sets the parameters such that FWHM = w. More... | |
virtual void | setIntensity (const double newIntensity) |
Sets the integral intensity of the peak. More... | |
void | setParameter (const std::string &name, const double &value, bool explicitlySet=true) override |
Override parent so that we may bust the cache when a parameter is set. More... | |
void | setParameter (size_t, const double &value, bool explicitlySet=true) override |
Override parent so that we may bust the cache when a parameter is set. More... | |
virtual void | unfixIntensity () |
Free the intensity parameter. More... | |
Public Member Functions inherited from Mantid::API::IFunctionWithLocation | |
virtual double | centre () const =0 |
Returns the centre of the function, which may be something as simple as the centre of the fitting range in the case of a background function or peak shape function this return value reflects the centre of the peak. More... | |
virtual void | fixCentre (bool isDefault=false) |
Fix a parameter or set up a tie such that value returned by centre() is constant during fitting. More... | |
virtual double | height () const =0 |
Returns the height of the function. More... | |
virtual void | setCentre (const double c)=0 |
Sets the parameters such that centre == c. More... | |
virtual void | setHeight (const double h)=0 |
Sets the parameters such that height == h. More... | |
virtual void | unfixCentre () |
Free the centre parameter. More... | |
~IFunctionWithLocation () override=default | |
Virtual destructor (avoids warnings about non-trivial move assignment in virtually inheriting classes) More... | |
Public Member Functions inherited from Mantid::API::ParamFunction | |
IFunction_sptr | getContainingFunction (const ParameterReference &ref) const |
Get the containing function. More... | |
IFunction_sptr | getContainingFunction (IFunction_sptr fun) |
Get the containing function. More... | |
double | getError (const std::string &name) const override |
Get the fitting error for a parameter by name. More... | |
double | getError (size_t i) const override |
Get the fitting error for a parameter. More... | |
double | getParameter (const std::string &name) const override |
Get parameter by name. More... | |
double | getParameter (size_t i) const override |
Get i-th parameter. More... | |
size_t | getParameterIndex (const ParameterReference &ref) const override |
Return parameter index from a parameter reference. More... | |
bool | hasParameter (const std::string &name) const override |
Check if function has a parameter with this name. More... | |
bool | isExplicitlySet (size_t i) const override |
Checks if a parameter has been set explicitly. More... | |
size_t | nParams () const override |
Total number of parameters. More... | |
std::string | parameterDescription (size_t i) const override |
Returns the description of parameter i. More... | |
size_t | parameterIndex (const std::string &name) const override |
Returns the index of parameter name. More... | |
std::string | parameterName (size_t i) const override |
Returns the name of parameter i. More... | |
ParamFunction () | |
Default constructor. More... | |
void | setError (const std::string &name, double err) override |
Set the fitting error for a parameter by name. More... | |
void | setError (size_t i, double err) override |
Set the fitting error for a parameter. More... | |
void | setParameter (const std::string &name, const double &value, bool explicitlySet=true) override |
Set parameter by name. More... | |
void | setParameter (size_t, const double &value, bool explicitlySet=true) override |
Set i-th parameter. More... | |
void | setParameterDescription (const std::string &name, const std::string &description) override |
Set description of parameter by name. More... | |
void | setParameterDescription (size_t, const std::string &description) override |
Set i-th parameter description. More... | |
Public Member Functions inherited from Mantid::API::IFunction | |
std::string | asString () const |
Writes itself into a string. More... | |
bool | cancellationRequestReceived () const |
Returns true if a progress reporter is set & evalaution has been requested to stop. More... | |
virtual const std::vector< std::string > | categories () const |
Function to return all of the categories that contain this algorithm. More... | |
virtual const std::string | category () const |
The categories the Fit function belong to. More... | |
virtual const std::string | categorySeparator () const |
Function to return the sperator token for the category string. More... | |
virtual std::shared_ptr< IFunction > | clone () const |
Virtual copy constructor. More... | |
virtual int64_t | estimateNoProgressCalls () const |
Returns an estimate of the number of progress reports a single evaluation of the function will have. More... | |
virtual void | function (const FunctionDomain &domain, FunctionValues &values) const =0 |
Evaluates the function for all arguments in the domain. More... | |
virtual void | functionDeriv (const FunctionDomain &domain, Jacobian &jacobian) |
Derivatives of function with respect to active parameters. More... | |
IFunction () | |
Constructor. More... | |
IFunction (const IFunction &)=delete | |
No copying. More... | |
virtual void | initialize () |
Iinialize the function. More... | |
virtual void | iterationFinished () |
Called at the end of an iteration. More... | |
virtual void | iterationStarting () |
Called at the start of each iteration. More... | |
virtual std::string | name () const =0 |
Returns the function's name. More... | |
IFunction & | operator= (const IFunction &)=delete |
No copying. More... | |
virtual void | registerFunctionUsage (bool internal) |
Registers the usage of the algorithm with the UsageService. More... | |
void | reportProgress (const std::string &msg="") const |
Reports progress with an optional message. More... | |
virtual void | setMatrixWorkspace (std::shared_ptr< const API::MatrixWorkspace > workspace, size_t wi, double startX, double endX) |
Set matrix workspace. More... | |
void | setProgressReporter (std::shared_ptr< Kernel::ProgressBase > reporter) |
Attach a progress reporter. More... | |
virtual void | setWorkspace (std::shared_ptr< const Workspace > ws) |
Set the workspace. More... | |
virtual | ~IFunction () |
Virtual destructor. More... | |
bool | isFixed (size_t i) const |
Check if a parameter i is fixed. More... | |
bool | isFixedByDefault (size_t i) const |
Check if a parameter i is fixed by default (not by user). More... | |
void | fix (size_t i, bool isDefault=false) |
Removes a parameter i from the list of active. More... | |
void | unfix (size_t i) |
Restores a declared parameter i to the active status. More... | |
void | fixParameter (const std::string &name, bool isDefault=false) |
Fix a parameter. More... | |
void | unfixParameter (const std::string &name) |
Free a parameter. More... | |
void | fixAll (bool isDefault=false) |
Fix all parameters. More... | |
void | unfixAll () |
Free all parameters. More... | |
void | unfixAllDefault () |
Free all parameters fixed by default. More... | |
void | fixAllActive (bool isDefault=false) |
Fix all active parameters. More... | |
std::vector< std::string > | getParameterNames () const |
Return a vector with all parameter names. More... | |
virtual double | activeParameter (size_t i) const |
Value of i-th active parameter. More... | |
virtual void | setActiveParameter (size_t i, double value) |
Set new value of i-th active parameter. More... | |
virtual std::string | nameOfActive (size_t i) const |
Returns the name of active parameter i. More... | |
virtual std::string | descriptionOfActive (size_t i) const |
Returns the name of active parameter i. More... | |
bool | isActive (size_t i) const |
Check if an active parameter i is actually active. More... | |
virtual void | tie (const std::string &parName, const std::string &expr, bool isDefault=false) |
Tie a parameter to other parameters (or a constant) More... | |
virtual void | addTies (const std::string &ties, bool isDefault=false) |
Add several ties. More... | |
virtual void | applyTies () |
Apply the ties. More... | |
virtual void | removeTie (const std::string &parName) |
Removes the tie off a parameter. More... | |
virtual void | clearTies () |
Remove all ties. More... | |
virtual bool | removeTie (size_t i) |
Removes i-th parameter's tie. More... | |
virtual ParameterTie * | getTie (size_t i) const |
Get the tie of i-th parameter. More... | |
virtual bool | ignoreTie (const ParameterTie &) const |
Ignore a tie. More... | |
void | sortTies () |
Put all ties in order in which they will be applied correctly. More... | |
std::string | writeTies () const |
Write a parameter tie to a string. More... | |
virtual void | addConstraints (const std::string &str, bool isDefault=false) |
Add a list of conatraints from a string. More... | |
virtual void | addConstraint (std::unique_ptr< IConstraint > ic) |
Add a constraint to function. More... | |
virtual IConstraint * | getConstraint (size_t i) const |
Get constraint of i-th parameter. More... | |
virtual void | removeConstraint (const std::string &parName) |
Remove a constraint. More... | |
virtual void | setConstraintPenaltyFactor (const std::string &parName, const double &c) |
Set a constraint penalty. More... | |
std::string | writeConstraints () const |
Write a parameter constraint to a string. More... | |
virtual void | clearConstraints () |
Remove all constraints. More... | |
virtual size_t | nAttributes () const |
Returns the number of attributes associated with the function. More... | |
virtual std::vector< std::string > | getAttributeNames () const |
Returns a list of attribute names. More... | |
virtual std::string | attributeName (size_t index) const |
Get name of ith attribute. More... | |
virtual Attribute | getAttribute (const std::string &name) const |
Return a value of attribute attName. More... | |
virtual void | setAttribute (const std::string &name, const Attribute &) |
Set a value to attribute attName. More... | |
virtual bool | hasAttribute (const std::string &name) const |
Check if attribute attName exists. More... | |
template<typename T > | |
void | setAttributeValue (const std::string &attName, const T &value) |
Set an attribute value. More... | |
void | setAttributeValue (const std::string &attName, const char *value) |
Overload for const char* values. More... | |
void | setAttributeValue (const std::string &attName, const std::string &value) |
Set string attribute by value. More... | |
virtual std::shared_ptr< IFunction > | getFunction (size_t i) const |
Returns the pointer to i-th child function. More... | |
virtual std::size_t | nFunctions () const |
Number of child functions. More... | |
virtual void | setUpForFit () |
Set up the function for a fit. More... | |
virtual size_t | getValuesSize (const FunctionDomain &domain) const |
Get number of values for a given domain. More... | |
virtual size_t | getNumberDomains () const |
Get number of domains required by this function. More... | |
virtual std::vector< std::shared_ptr< IFunction > > | createEquivalentFunctions () const |
Split this function (if needed) into a list of independent functions. More... | |
void | calNumericalDeriv (const FunctionDomain &domain, Jacobian &jacobian) |
Calculate numerical derivatives. More... | |
double | calculateStepSize (const double parameterValue) const |
Calculate step size for the given parameter value. More... | |
void | setCovarianceMatrix (const std::shared_ptr< Kernel::Matrix< double > > &covar) |
Set the covariance matrix. More... | |
std::shared_ptr< const Kernel::Matrix< double > > | getCovarianceMatrix () const |
Get the covariance matrix. More... | |
void | setReducedChiSquared (double chi2) |
Set the reduced chi^2. More... | |
double | getReducedChiSquared () const |
Get the reduced chi^2. More... | |
void | setParallel (bool on) |
Set the parallel hint. More... | |
bool | isParallel () const |
Get the parallel hint. More... | |
void | setHandler (std::unique_ptr< FunctionHandler > handler) |
Set a function handler. More... | |
FunctionHandler * | getHandler () const |
Return the handler. More... | |
virtual void | setStepSizeMethod (const StepSizeMethod method) |
Sets the StepSizeMethod to use when calculation the step size. More... | |
Public Member Functions inherited from Mantid::API::IFunction1D | |
virtual void | derivative (const FunctionDomain &domain, FunctionValues &values, const size_t order=1) const |
virtual void | derivative1D (double *out, const double *xValues, const size_t nData, const size_t order) const |
Function to calculate the derivatives of the data set. More... | |
void | function (const FunctionDomain &domain, FunctionValues &values) const override |
Evaluates the function for all arguments in the domain. More... | |
virtual void | function1D (double *out, const double *xValues, const size_t nData) const =0 |
Function you want to fit to. More... | |
void | functionDeriv (const FunctionDomain &domain, Jacobian &jacobian) override |
Derivatives of function with respect to active parameters. More... | |
virtual void | functionDeriv1D (Jacobian *jacobian, const double *xValues, const size_t nData) |
Derivatives of function with respect to active parameters. More... | |
Protected Member Functions | |
virtual IntegrationResultCache | integrate () const |
Protected Member Functions inherited from Mantid::API::ParamFunction | |
void | clearAllParameters () |
Nonvirtual member which removes all declared parameters. More... | |
void | declareParameter (const std::string &name, double initValue=0, const std::string &description="") override |
Declare a new parameter. More... | |
virtual double * | getParameterAddress (size_t i) |
Get the address of the parameter. For use in UserFunction with mu::Parser. More... | |
ParameterStatus | getParameterStatus (size_t i) const override |
Get status of parameter. More... | |
void | setParameterStatus (size_t i, ParameterStatus status) override |
Change status of parameter. More... | |
Protected Member Functions inherited from Mantid::API::IFunction | |
virtual void | init () |
Function initialization. Declare function parameters in this method. More... | |
double | convertValue (double value, Kernel::Unit_sptr &outUnit, const std::shared_ptr< const MatrixWorkspace > &ws, size_t wsIndex) const |
Convert a value from one unit (inUnit) to unit defined in workspace (ws) More... | |
void | convertValue (std::vector< double > &values, Kernel::Unit_sptr &outUnit, const std::shared_ptr< const MatrixWorkspace > &ws, size_t wsIndex) const |
Convert values from unit defined in workspace (ws) to outUnit. More... | |
virtual void | declareAttributes () |
Override to declare function attributes. More... | |
virtual void | declareParameters () |
Override to declare function parameters. More... | |
void | declareAttribute (const std::string &name, const API::IFunction::Attribute &defaultValue) |
Declare a single attribute. More... | |
void | declareAttribute (const std::string &name, const API::IFunction::Attribute &defaultValue, const Kernel::IValidator &validator) |
Declare a single attribute with validator. More... | |
void | checkAttributeName (const std::string &name) |
Check Attribute to declare does not already exist. More... | |
void | storeAttributeValue (const std::string &name, const API::IFunction::Attribute &value) |
Store an attribute's value. More... | |
void | storeReadOnlyAttribute (const std::string &name, const API::IFunction::Attribute &value) const |
A read-only ("mutable") attribute can be stored in a const method. More... | |
virtual void | addTie (std::unique_ptr< ParameterTie > tie) |
Add a new tie. Derived classes must provide storage for ties. More... | |
bool | hasOrderedTies () const |
void | applyOrderedTies () |
virtual std::string | writeToString (const std::string &parentLocalAttributesStr="") const |
Writes itself into a string. More... | |
Protected Member Functions inherited from Mantid::API::IFunction1D | |
template<typename EvaluationMethod > | |
void | calcNumericalDerivative1D (Jacobian *jacobian, EvaluationMethod func1D, const double *xValues, const size_t nData) |
Calculate a numerical derivative for the 1D data. More... | |
virtual void | histogram1D (double *out, double left, const double *right, const size_t nBins) const |
Calculate histogram data for the given bin boundaries. More... | |
virtual void | histogramDerivative1D (Jacobian *jacobian, double left, const double *right, const size_t nBins) const |
Derivatives of the histogram1D with respect to active parameters. More... | |
Private Member Functions | |
void | setPeakRadius (int r) const |
Set new peak radius. More... | |
Private Attributes | |
boost::shared_ptr< IntegrationResultCache > | integrationResult = nullptr |
bool | m_parameterContextDirty = false |
int | m_peakRadius |
Defines the area around the centre where the peak values are to be calculated (in FWHM). More... | |
Static Private Attributes | |
static constexpr double | DEFAULT_SEARCH_LEVEL = 1e-5 |
The default level for searching a domain interval (getDomainInterval()) More... | |
Additional Inherited Members | |
Public Types inherited from Mantid::API::IFunction | |
enum | ParameterStatus { Active , Fixed , FixedByDefault , Tied } |
Describe parameter status in relation to fitting: Active: Fit varies such parameter directly. More... | |
enum class | StepSizeMethod { DEFAULT , SQRT_EPSILON } |
Describes the method in which the step size will be calculated: DEFAULT: Uses the traditional Mantid method of calculating the step size. More... | |
Protected Types inherited from Mantid::API::IFunction1D | |
template<typename FunctionType > | |
using | Function1DMethod = void(FunctionType::*)(double *, const double *, const size_t) const |
Protected Attributes inherited from Mantid::API::IFunction | |
bool | m_isParallel |
Flag to hint that the function is being used in parallel computations. More... | |
std::unique_ptr< FunctionHandler > | m_handler |
Pointer to a function handler. More... | |
std::shared_ptr< Kernel::ProgressBase > | m_progReporter |
Pointer to the progress handler. More... | |
Static Protected Attributes inherited from Mantid::API::IFunction1D | |
static Kernel::Logger | g_log |
Logger instance. More... | |
An interface to a peak function, which extend the interface of IFunctionWithLocation by adding methods to set and get peak width.
Definition at line 51 of file IPeakFunction.h.
Mantid::API::IPeakFunction::IPeakFunction | ( | ) |
Constructor.
Definition at line 68 of file IPeakFunction.cpp.
|
inlinevirtual |
Fix a parameter or set up a tie such that value returned by intensity() is constant during fitting.
isDefault | :: If true fix intensity by default: don't show it in ties |
Reimplemented in Mantid::CurveFitting::Functions::Gaussian, and Mantid::CurveFitting::Functions::Lorentzian.
Definition at line 114 of file IPeakFunction.h.
References UNUSED_ARG.
Referenced by Mantid::CurveFitting::Functions::CrystalFieldUtils::updatePeak().
|
overridevirtual |
Evaluates the function for all arguments in the domain.
domain | :: Provides arguments for the function. |
values | :: A buffer to store the function values. It must be large enogh to store domain.size() values. |
Reimplemented from Mantid::API::IFunction1D.
Definition at line 70 of file IPeakFunction.cpp.
References Mantid::API::IFunction1D::function(), and setPeakRadius().
|
overridevirtual |
General implementation of the method for all peaks.
Limits the peak evaluation to a certain number of FWHMs around the peak centre. The outside points are set to 0. Calls functionLocal() to compute the actual values
out | :: Output function values |
xValues | :: X values for data points |
nData | :: Number of data points |
Implements Mantid::API::IFunction1D.
Reimplemented in Mantid::CurveFitting::Functions::BackToBackExponential, Mantid::CurveFitting::Functions::DeltaFunction, and Mantid::PythonInterface::IPeakFunctionAdapter.
Definition at line 86 of file IPeakFunction.cpp.
References Mantid::API::IFunctionWithLocation::centre(), fabs, functionLocal(), fwhm(), m_peakRadius, and n.
Referenced by Mantid::PythonInterface::IPeakFunctionAdapter::function1D().
|
overridevirtual |
General implementation of the method for all peaks.
Calculates derivatives only for a range of x values limited to a certain number of FWHM around the peak centre. For the points outside the range all derivatives are set to 0. Calls functionDerivLocal() to compute the actual values
out | :: Derivatives |
xValues | :: X values for data points |
nData | :: Number of data points |
Reimplemented from Mantid::API::IFunction1D.
Reimplemented in Mantid::CurveFitting::Functions::BackToBackExponential, Mantid::CurveFitting::Functions::DeltaFunction, and Mantid::PythonInterface::IPeakFunctionAdapter.
Definition at line 116 of file IPeakFunction.cpp.
References Mantid::API::IFunctionWithLocation::centre(), fabs, functionDerivLocal(), fwhm(), m_peakRadius, n, Mantid::API::ParamFunction::nParams(), and Mantid::API::Jacobian::set().
Referenced by Mantid::PythonInterface::IPeakFunctionAdapter::functionDeriv1D().
|
virtual |
Derivative evaluation method. Default is to calculate numerically.
Computes the function derivative numerically.
jacobian | An output Jacobian to receive the calculated values |
xValues | An input array of X data |
nData | The number of X values provided |
Reimplemented in Mantid::CurveFitting::Functions::BackToBackExponential, Mantid::PythonInterface::IPeakFunctionAdapter, Mantid::CurveFitting::Functions::AsymmetricPearsonVII, Mantid::CurveFitting::Functions::Bk2BkExpConvPV, Mantid::CurveFitting::Functions::DeltaFunction, Mantid::CurveFitting::Functions::Gaussian, Mantid::CurveFitting::Functions::IkedaCarpenterPV, Mantid::CurveFitting::Functions::Lorentzian, Mantid::CurveFitting::Functions::PseudoVoigt, and Mantid::CurveFitting::Functions::Voigt.
Definition at line 268 of file IPeakFunction.cpp.
References Mantid::API::IFunction1D::calcNumericalDerivative1D(), and functionLocal().
Referenced by functionDeriv1D(), and Mantid::PythonInterface::IPeakFunctionAdapter::functionDerivLocal().
|
pure virtual |
Function evaluation method to be implemented in the inherited classes.
Implemented in Mantid::CurveFitting::Functions::BackToBackExponential, Mantid::CurveFitting::Functions::AsymmetricPearsonVII, Mantid::CurveFitting::Functions::Bk2BkExpConvPV, Mantid::CurveFitting::Functions::DeltaFunction, Mantid::CurveFitting::Functions::Gaussian, Mantid::CurveFitting::Functions::IkedaCarpenterPV, Mantid::CurveFitting::Functions::Lorentzian, Mantid::CurveFitting::Functions::PseudoVoigt, Mantid::CurveFitting::Functions::Voigt, and Mantid::PythonInterface::IPeakFunctionAdapter.
Referenced by function1D(), functionDerivLocal(), and getDomainInterval().
|
pure virtual |
Returns the peak FWHM.
Implemented in Mantid::CurveFitting::Functions::AsymmetricPearsonVII, Mantid::CurveFitting::Functions::BackToBackExponential, Mantid::CurveFitting::Functions::Bk2BkExpConvPV, Mantid::CurveFitting::Functions::DeltaFunction, Mantid::CurveFitting::Functions::Gaussian, Mantid::CurveFitting::Functions::IkedaCarpenterPV, Mantid::CurveFitting::Functions::Lorentzian, Mantid::CurveFitting::Functions::PseudoVoigt, Mantid::CurveFitting::Functions::Voigt, and Mantid::PythonInterface::IPeakFunctionAdapter.
Referenced by export_IPeakFunction(), function1D(), functionDeriv1D(), getDomainInterval(), Mantid::CurveFitting::Functions::CrystalFieldUtils::updatePeakWidth(), and Mantid::CurveFitting::Functions::CrystalFieldUtils::updateSpectrumFunction().
std::string Mantid::API::IPeakFunction::getCentreParameterName | ( | ) | const |
Get name of parameter that is associated to centre.
Definition at line 208 of file IPeakFunction.cpp.
References Mantid::Kernel::SingletonHolder< T >::Instance(), Mantid::API::TempJacobian::maxParam(), Mantid::API::IFunction::name(), and Mantid::API::ParamFunction::parameterName().
|
virtual |
Get the interval on which the peak has all its values above a certain level.
All values outside the interval are below that level.
level | :: A fraction of the peak height. |
Definition at line 230 of file IPeakFunction.cpp.
References Mantid::API::IFunctionWithLocation::centre(), fabs, functionLocal(), fwhm(), Mantid::API::IFunctionWithLocation::height(), left, right, Mantid::Geometry::x, and Mantid::Geometry::y.
Referenced by integrate(), Mantid::CurveFitting::Functions::IkedaCarpenterPV::intensity(), and intensityError().
|
inlinevirtual |
Get the name of the parameter that is changed when the fwhm is changed.
By default this returns an empty string (unless overridden in the individual functions) as some functions change two params when the fwhm is set and others don't have a width (delta func).This is intended for the BackToBackExponential-based peaks where the width parameter (S) can be set in the intsurment parameter file and this needs to be checked when a peak is added.
Reimplemented in Mantid::CurveFitting::Functions::BackToBackExponential.
Definition at line 108 of file IPeakFunction.h.
|
protectedvirtual |
Definition at line 161 of file IPeakFunction.cpp.
References getDomainInterval(), Mantid::API::PeakFunctionIntegrator::integrate(), integrationResult, and m_parameterContextDirty.
Referenced by intensity().
|
virtual |
Returns the integral intensity of the peak.
Returns the integrated intensity of the peak function, using the peak radius to determine integration borders.
Reimplemented in Mantid::CurveFitting::Functions::BackToBackExponential, Mantid::CurveFitting::Functions::Gaussian, Mantid::CurveFitting::Functions::IkedaCarpenterPV, Mantid::CurveFitting::Functions::Lorentzian, Mantid::CurveFitting::Functions::PseudoVoigt, and Mantid::CurveFitting::Functions::Voigt.
Definition at line 179 of file IPeakFunction.cpp.
References integrate().
Referenced by export_IPeakFunction(), Mantid::CurveFitting::Functions::Bk2BkExpConvPV::functionLocal(), and setIntensity().
|
virtual |
Error in the integrated intensity of the peak due to uncertainties in the values of the fit parameters.
if the peak function contains no fit-parameter uncertainties, then the integration error is set to NaN. Also, this function assumes no correlation between the fit parameters, so that their corresponding errors are summed up in quadrature.
Reimplemented in Mantid::CurveFitting::Functions::BackToBackExponential, Mantid::CurveFitting::Functions::Gaussian, Mantid::CurveFitting::Functions::Lorentzian, and Mantid::CurveFitting::Functions::PseudoVoigt.
Definition at line 181 of file IPeakFunction.cpp.
References getDomainInterval(), and Mantid::API::PeakFunctionIntegrator::integrateError().
Referenced by export_IPeakFunction().
|
pure virtual |
Sets the parameters such that FWHM = w.
Implemented in Mantid::CurveFitting::Functions::AsymmetricPearsonVII, Mantid::CurveFitting::Functions::Voigt, Mantid::CurveFitting::Functions::BackToBackExponential, Mantid::CurveFitting::Functions::Bk2BkExpConvPV, Mantid::CurveFitting::Functions::DeltaFunction, Mantid::CurveFitting::Functions::Gaussian, Mantid::CurveFitting::Functions::IkedaCarpenterPV, Mantid::CurveFitting::Functions::Lorentzian, Mantid::CurveFitting::Functions::PseudoVoigt, and Mantid::PythonInterface::IPeakFunctionAdapter.
Referenced by MantidQt::MantidWidgets::PropertyHandler::changeType(), Mantid::CurveFitting::Functions::CrystalFieldUtils::ignorePeak(), Mantid::CurveFitting::Functions::CrystalFieldUtils::setPeakWidth(), and Mantid::CurveFitting::Functions::CrystalFieldUtils::updatePeakWidth().
|
virtual |
Sets the integral intensity of the peak.
Sets the integral intensity of the peak by adjusting the height.
Reimplemented in Mantid::CurveFitting::Functions::Gaussian, Mantid::CurveFitting::Functions::Lorentzian, Mantid::CurveFitting::Functions::BackToBackExponential, Mantid::CurveFitting::Functions::PseudoVoigt, and Mantid::CurveFitting::Functions::Voigt.
Definition at line 188 of file IPeakFunction.cpp.
References Mantid::API::IFunctionWithLocation::height(), intensity(), and Mantid::API::IFunctionWithLocation::setHeight().
Referenced by export_IPeakFunction(), and Mantid::CurveFitting::Functions::CrystalFieldUtils::updatePeak().
|
overridevirtual |
Override parent so that we may bust the cache when a parameter is set.
Implements Mantid::API::IFunction.
Reimplemented in Mantid::CurveFitting::Functions::PseudoVoigt.
Definition at line 151 of file IPeakFunction.cpp.
References m_parameterContextDirty, Mantid::API::IFunction::name(), Mantid::API::ParamFunction::setParameter(), and value.
Referenced by Mantid::CurveFitting::Functions::AsymmetricPearsonVII::setActiveParameter(), Mantid::CurveFitting::Functions::Gaussian::setActiveParameter(), Mantid::CurveFitting::Functions::Bk2BkExpConvPV::setCentre(), Mantid::CurveFitting::Functions::Gaussian::setCentre(), Mantid::CurveFitting::Functions::IkedaCarpenterPV::setCentre(), Mantid::CurveFitting::Functions::AsymmetricPearsonVII::setCentre(), Mantid::CurveFitting::Functions::Voigt::setCentre(), Mantid::CurveFitting::Functions::AsymmetricPearsonVII::setFwhm(), Mantid::CurveFitting::Functions::Voigt::setFwhm(), Mantid::CurveFitting::Functions::BackToBackExponential::setFwhm(), Mantid::CurveFitting::Functions::Bk2BkExpConvPV::setFwhm(), Mantid::CurveFitting::Functions::Gaussian::setFwhm(), Mantid::CurveFitting::Functions::IkedaCarpenterPV::setFwhm(), Mantid::CurveFitting::Functions::Lorentzian::setFwhm(), Mantid::CurveFitting::Functions::BackToBackExponential::setHeight(), Mantid::CurveFitting::Functions::Bk2BkExpConvPV::setHeight(), Mantid::CurveFitting::Functions::Gaussian::setHeight(), Mantid::CurveFitting::Functions::IkedaCarpenterPV::setHeight(), Mantid::CurveFitting::Functions::Lorentzian::setHeight(), Mantid::CurveFitting::Functions::AsymmetricPearsonVII::setHeight(), Mantid::CurveFitting::Functions::Voigt::setHeight(), Mantid::CurveFitting::Functions::Gaussian::setIntensity(), Mantid::CurveFitting::Functions::Voigt::setIntensity(), Mantid::CurveFitting::Functions::AsymmetricPearsonVII::setLeftShape(), Mantid::CurveFitting::Functions::IkedaCarpenterPV::setMatrixWorkspace(), Mantid::CurveFitting::Functions::PseudoVoigt::setParameter(), and Mantid::CurveFitting::Functions::AsymmetricPearsonVII::setRightShape().
|
overridevirtual |
Override parent so that we may bust the cache when a parameter is set.
Implements Mantid::API::IFunction.
Reimplemented in Mantid::CurveFitting::Functions::PseudoVoigt.
Definition at line 146 of file IPeakFunction.cpp.
References m_parameterContextDirty, Mantid::API::ParamFunction::setParameter(), and value.
|
private |
Set new peak radius.
Definition at line 138 of file IPeakFunction.cpp.
References m_peakRadius.
Referenced by function().
|
inlinevirtual |
Free the intensity parameter.
Reimplemented in Mantid::CurveFitting::Functions::Gaussian, and Mantid::CurveFitting::Functions::Lorentzian.
Definition at line 120 of file IPeakFunction.h.
Referenced by Mantid::CurveFitting::Functions::CrystalFieldUtils::updatePeak().
|
staticconstexprprivate |
The default level for searching a domain interval (getDomainInterval())
Definition at line 134 of file IPeakFunction.h.
|
mutableprivate |
Definition at line 136 of file IPeakFunction.h.
Referenced by integrate().
|
mutableprivate |
Definition at line 138 of file IPeakFunction.h.
Referenced by integrate(), and setParameter().
|
mutableprivate |
Defines the area around the centre where the peak values are to be calculated (in FWHM).
Definition at line 132 of file IPeakFunction.h.
Referenced by function1D(), functionDeriv1D(), and setPeakRadius().