Mantid
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Mantid::CurveFitting::Functions::ComptonScatteringCountRate Class Reference

Implements a specialized function that encapsulates the combination of ComptonProfile functions that give the Neutron count rate. More...

#include <ComptonScatteringCountRate.h>

Inheritance diagram for Mantid::CurveFitting::Functions::ComptonScatteringCountRate:
Mantid::API::CompositeFunction Mantid::API::IFunction

Public Member Functions

 ComptonScatteringCountRate ()
 Constructor. More...
 
- Public Member Functions inherited from Mantid::API::CompositeFunction
double activeParameter (size_t i) const override
 Value of i-th active parameter. More...
 
virtual size_t addFunction (IFunction_sptr f)
 Add a function at the back of the internal function list. More...
 
void applyTies () override
 Apply the ties. More...
 
std::size_t attributeFunctionIndex (std::size_t i) const
 Get the index of the function to which parameter i belongs. More...
 
std::string attributeName (size_t i) const override
 Returns the name of attribute i. More...
 
void checkFunction ()
 Check the function. More...
 
void clear ()
 Remove all member functions. More...
 
void clearTies () override
 Remove all ties. More...
 
 CompositeFunction ()
 Default constructor. More...
 
std::vector< std::shared_ptr< IFunction > > createEquivalentFunctions () const override
 Split this function (if needed) into a list of independent functions. More...
 
std::string descriptionOfActive (size_t i) const override
 Returns the name of active parameter i. More...
 
void function (const FunctionDomain &domain, FunctionValues &values) const override
 Function you want to fit to. More...
 
void functionDeriv (const FunctionDomain &domain, Jacobian &jacobian) override
 Derivatives of function with respect to active parameters. More...
 
std::size_t functionIndex (const std::string &functionName) const
 Get the first function index with a matching function name. More...
 
std::size_t functionIndex (std::size_t i) const
 Get the function index. More...
 
Attribute getAttribute (const std::string &name) const override
 Return a value of attribute attName. More...
 
IConstraintgetConstraint (size_t i) const override
 Get constraint of i-th parameter. More...
 
IFunction_sptr getContainingFunction (const ParameterReference &ref) const
 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 getError (size_t i, size_t j) const
 Get the fitting error for i-th function's j-th parameter. More...
 
IFunction_sptr getFunction (std::size_t i) const override
 Returns the pointer to i-th function. More...
 
virtual Attribute getLocalAttribute (size_t i, const std::string &attName) const
 Return a value of attribute attName. More...
 
virtual std::vector< std::string > getLocalAttributeNames () const
 Returns a list of attribute names. More...
 
size_t getNumberDomains () const override
 Get number of domains required by this function. 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...
 
double getParameter (size_t i, size_t j) const
 Get parameter from i-th function, j-th local parameter index. More...
 
size_t getParameterIndex (const ParameterReference &ref) const override
 Return parameter index from a parameter reference. More...
 
ParameterStatus getParameterStatus (size_t i) const override
 Get status of parameter. More...
 
ParameterTiegetTie (size_t i) const override
 Get the tie of i-th parameter. More...
 
bool hasAttribute (const std::string &name) const override
 Check if a function has an attribute with this name. More...
 
bool hasFunction (const std::string &functionName) const
 Returns true if the composite has at least one of this function. More...
 
virtual bool hasLocalAttribute (const std::string &) const
 Check if attribute attName exists. 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...
 
std::string name () const override
 Returns the function's name. More...
 
std::string nameOfActive (size_t i) const override
 Returns the name of active parameter i. More...
 
size_t nAttributes () const override
 Returns the number of attributes associated with the function. More...
 
std::size_t nFunctions () const override
 Number of functions. More...
 
size_t nGlobalAttributes () const noexcept
 
virtual size_t nLocalAttributes () const
 Returns the number of attributes associated with the function. 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...
 
size_t parameterLocalIndex (size_t i, bool recursive=false) const
 Returns the index of parameter i as it declared in its function. More...
 
std::string parameterLocalName (size_t i, bool recursive=false) const
 Returns the name of parameter i as it declared in its function. More...
 
std::string parameterName (size_t i) const override
 Returns the name of parameter i. More...
 
std::string parameterName (size_t i, size_t j) const
 Returns the name of i-th function's j-th parameter. More...
 
void registerFunctionUsage (bool internal) override
 Registers the usage of the function with the UsageService. More...
 
void removeConstraint (const std::string &parName) override
 Remove a constraint. More...
 
void removeFunction (size_t i)
 Remove a function. More...
 
virtual void removeTie (const std::string &parName)
 Removes the tie off a parameter. More...
 
virtual bool removeTie (size_t i)
 Removes i-th parameter's tie. More...
 
bool removeTie (size_t i) override
 Removes i-th parameter's tie. More...
 
void replaceFunction (size_t functionIndex, const IFunction_sptr &f)
 Replace a function. More...
 
void replaceFunctionPtr (const IFunction_sptr &f_old, const IFunction_sptr &f_new)
 Replace a function. More...
 
void setActiveParameter (size_t i, double value) override
 Set new value of i-th active parameter. More...
 
void setAttribute (const std::string &name, const API::IFunction::Attribute &value) override
 Set a value of a named attribute. 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...
 
virtual void setLocalAttribute (size_t i, const std::string &attName, const Attribute &)
 Set a value to attribute attName. More...
 
void setLocalAttributeValue (size_t i, const std::string &attName, const char *value)
 
template<typename T >
void setLocalAttributeValue (size_t i, const std::string &attName, const T &value)
 
void setMatrixWorkspace (std::shared_ptr< const API::MatrixWorkspace > workspace, size_t wi, double startX, double endX) override
 Set matrix workspace. 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...
 
void setParameterStatus (size_t i, ParameterStatus status) override
 Change status of parameter. More...
 
void setStepSizeMethod (const StepSizeMethod stepSizeMethod) override
 Sets the function to use when calculating the step size. More...
 
void setUpForFit () override
 Prepare function for a fit. More...
 
void setWorkspace (std::shared_ptr< const Workspace > ws) override
 Sets the workspace for each member function. More...
 
void updateActive (const double *in)
 Update parameters after a fitting iteration. 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< IFunctionclone () 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...
 
IFunctionoperator= (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...
 
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 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 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 std::vector< std::string > getAttributeNames () const
 Returns a list of attribute names. 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< IFunctiongetFunction (size_t i) const
 Returns the pointer to i-th child function. More...
 
virtual size_t getValuesSize (const FunctionDomain &domain) const
 Get number of values for a given domain. 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...
 
FunctionHandlergetHandler () const
 Return the handler. More...
 

Private Member Functions

void cacheBackground (const API::IFunction1D_sptr &function1D, const size_t paramsOffset)
 Cache parameters positions for background function. More...
 
void cacheComptonProfile (const std::shared_ptr< ComptonProfile > &profile, const size_t paramsOffset)
 Cache ptr to the individual profile and its parameters. More...
 
void cacheFunctions ()
 Cache ptrs to the individual profiles and their parameters. More...
 
void createConstraintMatrices ()
 Set up the constraint matrices. More...
 
void createEqualityCM (const size_t nmasses)
 Set up equality constraint matrix. More...
 
void createPositivityCM ()
 Set up positivity constraint matrix. More...
 
void iterationStarting () override
 Called by the framework just before an iteration is starting. More...
 
std::string name () const override
 String identifier. More...
 
void parseIntensityConstraintMatrix (const std::string &value)
 Takes the string & constructs the constraint matrix. More...
 
void setAttribute (const std::string &name, const Attribute &value) override
 Set an attribute value (and possibly cache its value) More...
 
void setFixedParameterValues (const std::vector< double > &values)
 Set the fixed parameters to the given values. More...
 
void setMatrixWorkspace (std::shared_ptr< const API::MatrixWorkspace > matrix, size_t wsIndex, double startX, double endX) override
 Cache reference to workspace for use in setupForFit. More...
 
void updateCMatrixValues () const
 Refresh the values of the C matrix for this evaluation. More...
 

Private Attributes

std::string m_bkgdOrderAttr
 Name of order attribute on background function. More...
 
int m_bkgdPolyN
 The order of the background. More...
 
Kernel::DblMatrix m_cmatrix
 Positivity constraints on J(y) More...
 
std::vector< double > m_dataErrorRatio
 Ratio of data & errors. More...
 
Kernel::DblMatrix m_eqMatrix
 Intensity equality constraints. More...
 
std::vector< size_t > m_fixedParamIndices
 Store parameter indices of intensity parameters that are fixed. More...
 
std::shared_ptr< HistogramData::Histogram > m_hist
 The histogram of the matrix workspace being cached for use. More...
 
std::vector< ComptonProfile * > m_profiles
 Holder for non-owning functions cast as ComptonProfiles. More...
 
size_t wsIndex
 The workspace index being worked on. 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...
 
- Static Public Member Functions inherited from Mantid::API::CompositeFunction
static std::pair< std::string, size_t > parseName (const std::string &varName)
 Extract function index and parameter name from a variable name. More...
 
- Protected Member Functions inherited from Mantid::API::CompositeFunction
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 a validator. More...
 
void declareParameter (const std::string &name, double initValue=0, const std::string &description="") override
 Declare a new parameter. More...
 
void init () override
 Function initialization. Declare function parameters in this method. More...
 
size_t paramOffset (size_t i) const
 
std::string writeToString (const std::string &parentLocalAttributesStr="") const override
 Writes itself into a string. More...
 
- Protected Member Functions inherited from Mantid::API::IFunction
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 ()
 
- 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< FunctionHandlerm_handler
 Pointer to a function handler. More...
 
std::shared_ptr< Kernel::ProgressBasem_progReporter
 Pointer to the progress handler. More...
 

Detailed Description

Implements a specialized function that encapsulates the combination of ComptonProfile functions that give the Neutron count rate.

Definition at line 22 of file ComptonScatteringCountRate.h.

Constructor & Destructor Documentation

◆ ComptonScatteringCountRate()

Mantid::CurveFitting::Functions::ComptonScatteringCountRate::ComptonScatteringCountRate ( )

Constructor.

Definition at line 34 of file ComptonScatteringCountRate.cpp.

Member Function Documentation

◆ cacheBackground()

void Mantid::CurveFitting::Functions::ComptonScatteringCountRate::cacheBackground ( const API::IFunction1D_sptr function1D,
const size_t  paramsOffset 
)
private

Cache parameters positions for background function.

Parameters
function1DFunction of type IFunction1D
paramsOffsetThe offset of the given function's parameters within composite

Definition at line 312 of file ComptonScatteringCountRate.cpp.

References m_bkgdOrderAttr, m_bkgdPolyN, m_fixedParamIndices, Mantid::API::CompositeFunction::setParameterStatus(), and Mantid::API::IFunction::Tied.

Referenced by cacheFunctions().

◆ cacheComptonProfile()

void Mantid::CurveFitting::Functions::ComptonScatteringCountRate::cacheComptonProfile ( const std::shared_ptr< ComptonProfile > &  profile,
const size_t  paramsOffset 
)
private

Cache ptr to the individual profile and its parameters.

Parameters
profileFunction of type ComptonProfile
paramsOffsetThe offset of the given function's parameters within composite

Definition at line 296 of file ComptonScatteringCountRate.cpp.

References m_fixedParamIndices, m_profiles, Mantid::API::CompositeFunction::setParameterStatus(), and Mantid::API::IFunction::Tied.

Referenced by cacheFunctions().

◆ cacheFunctions()

void Mantid::CurveFitting::Functions::ComptonScatteringCountRate::cacheFunctions ( )
private

◆ createConstraintMatrices()

void Mantid::CurveFitting::Functions::ComptonScatteringCountRate::createConstraintMatrices ( )
private

◆ createEqualityCM()

void Mantid::CurveFitting::Functions::ComptonScatteringCountRate::createEqualityCM ( const size_t  nmasses)
private

Set up equality constraint matrix.

Parameters
nmassesThe number of distinct masses being fitted

Definition at line 402 of file ComptonScatteringCountRate.cpp.

References m_bkgdPolyN, m_cmatrix, m_eqMatrix, m_fixedParamIndices, Mantid::Kernel::Matrix< T >::numCols(), and Mantid::Kernel::Matrix< T >::numRows().

Referenced by createConstraintMatrices().

◆ createPositivityCM()

void Mantid::CurveFitting::Functions::ComptonScatteringCountRate::createPositivityCM ( )
private

Set up positivity constraint matrix.

Definition at line 368 of file ComptonScatteringCountRate.cpp.

References m_bkgdPolyN, m_cmatrix, m_fixedParamIndices, m_hist, and nrows.

Referenced by createConstraintMatrices().

◆ iterationStarting()

void Mantid::CurveFitting::Functions::ComptonScatteringCountRate::iterationStarting ( )
overrideprivatevirtual

Called by the framework just before an iteration is starting.

Calculates the new values for the intensity coefficents.

Before calling the functions that make up the composite perform a least-square minimization to compute the values of the intensity coefficients so that they can be taken out of the fit essentially. This also applies the intensity constraints supplied by the user. The required parameters have been fixed by setupForFit

It is required that we minimize 0.5*||Cx-d||^2, where C is a matrix of J*(y) values from each intensity coefficient. This minimization is subject to the following constraints:

Cx >= 0, where C is the same matrix of J(y) values above Ax = 0, where A is the intensity constraints supplied by the user

Reimplemented from Mantid::API::IFunction.

Definition at line 132 of file ComptonScatteringCountRate.cpp.

References m_bkgdPolyN, m_cmatrix, m_dataErrorRatio, m_eqMatrix, Mantid::Kernel::Math::SLSQPMinimizer::minimize(), Mantid::CurveFitting::AugmentedLagrangianOptimizer::minimize(), Mantid::Kernel::Matrix< T >::numCols(), setFixedParameterValues(), and updateCMatrixValues().

◆ name()

std::string Mantid::CurveFitting::Functions::ComptonScatteringCountRate::name ( ) const
inlineoverrideprivatevirtual

String identifier.

Reimplemented from Mantid::API::CompositeFunction.

Definition at line 29 of file ComptonScatteringCountRate.h.

Referenced by setAttribute().

◆ parseIntensityConstraintMatrix()

void Mantid::CurveFitting::Functions::ComptonScatteringCountRate::parseIntensityConstraintMatrix ( const std::string &  value)
private

Takes the string & constructs the constraint matrix.

Parameters
valueThe string is assumed to be of the form "[0 1 0][1 1 0]..." where each [] pair specifies the row and the number of columns is given by the number of entries within the brackets. The number of columns must ultimately match the total number of intensities within the problem

Definition at line 66 of file ComptonScatteringCountRate.cpp.

References Mantid::Kernel::fillFromStream(), m_eqMatrix, and value.

Referenced by setAttribute().

◆ setAttribute()

void Mantid::CurveFitting::Functions::ComptonScatteringCountRate::setAttribute ( const std::string &  name,
const Attribute value 
)
overrideprivatevirtual

Set an attribute value (and possibly cache its value)

Parameters
nameThe name of the attribute that is being set
valueThe attribute's value

Reimplemented from Mantid::API::CompositeFunction.

Definition at line 50 of file ComptonScatteringCountRate.cpp.

References m_bkgdOrderAttr, name(), parseIntensityConstraintMatrix(), Mantid::API::CompositeFunction::setAttribute(), and value.

◆ setFixedParameterValues()

void Mantid::CurveFitting::Functions::ComptonScatteringCountRate::setFixedParameterValues ( const std::vector< double > &  values)
private

Set the fixed parameters to the given values.

Set the first N fixed parameters to the values given by the N values vector.

Parameters
valuesA new set of N values to set

Definition at line 179 of file ComptonScatteringCountRate.cpp.

References Mantid::Kernel::Logger::debug(), Mantid::API::g_log, Mantid::Kernel::Logger::is(), m_fixedParamIndices, and Mantid::API::CompositeFunction::setParameter().

Referenced by iterationStarting().

◆ setMatrixWorkspace()

void Mantid::CurveFitting::Functions::ComptonScatteringCountRate::setMatrixWorkspace ( std::shared_ptr< const API::MatrixWorkspace matrix,
size_t  wsIndex,
double  startX,
double  endX 
)
overrideprivatevirtual

Cache reference to workspace for use in setupForFit.

Cache workspace reference.

Expects a MatrixWorkspace

Parameters
matrixA shared_ptr to a Workspace
wsIndexA workspace index
startXStarting x-value (unused).
endXEnding x-value (unused).

Reimplemented from Mantid::API::CompositeFunction.

Definition at line 231 of file ComptonScatteringCountRate.cpp.

References cacheFunctions(), createConstraintMatrices(), Mantid::Kernel::Logger::debug(), Mantid::API::g_log, Mantid::Kernel::Logger::is(), m_dataErrorRatio, m_hist, Mantid::API::CompositeFunction::setMatrixWorkspace(), and wsIndex.

◆ updateCMatrixValues()

void Mantid::CurveFitting::Functions::ComptonScatteringCountRate::updateCMatrixValues ( ) const
private

Refresh the values of the C matrix for this evaluation.

Fills the pre-allocated C matrix with the appropriate values.

Definition at line 198 of file ComptonScatteringCountRate.cpp.

References Mantid::Kernel::Logger::debug(), Mantid::API::g_log, Mantid::Kernel::Logger::is(), m_bkgdPolyN, m_cmatrix, m_hist, m_profiles, Mantid::Kernel::Matrix< T >::numCols(), and Mantid::Kernel::Matrix< T >::numRows().

Referenced by iterationStarting().

Member Data Documentation

◆ m_bkgdOrderAttr

std::string Mantid::CurveFitting::Functions::ComptonScatteringCountRate::m_bkgdOrderAttr
private

Name of order attribute on background function.

Definition at line 67 of file ComptonScatteringCountRate.h.

Referenced by cacheBackground(), and setAttribute().

◆ m_bkgdPolyN

int Mantid::CurveFitting::Functions::ComptonScatteringCountRate::m_bkgdPolyN
private

The order of the background.

Definition at line 69 of file ComptonScatteringCountRate.h.

Referenced by cacheBackground(), createEqualityCM(), createPositivityCM(), iterationStarting(), and updateCMatrixValues().

◆ m_cmatrix

Kernel::DblMatrix Mantid::CurveFitting::Functions::ComptonScatteringCountRate::m_cmatrix
mutableprivate

Positivity constraints on J(y)

Definition at line 63 of file ComptonScatteringCountRate.h.

Referenced by createEqualityCM(), createPositivityCM(), iterationStarting(), and updateCMatrixValues().

◆ m_dataErrorRatio

std::vector<double> Mantid::CurveFitting::Functions::ComptonScatteringCountRate::m_dataErrorRatio
private

Ratio of data & errors.

Definition at line 75 of file ComptonScatteringCountRate.h.

Referenced by iterationStarting(), and setMatrixWorkspace().

◆ m_eqMatrix

Kernel::DblMatrix Mantid::CurveFitting::Functions::ComptonScatteringCountRate::m_eqMatrix
private

Intensity equality constraints.

Definition at line 65 of file ComptonScatteringCountRate.h.

Referenced by createConstraintMatrices(), createEqualityCM(), iterationStarting(), and parseIntensityConstraintMatrix().

◆ m_fixedParamIndices

std::vector<size_t> Mantid::CurveFitting::Functions::ComptonScatteringCountRate::m_fixedParamIndices
private

Store parameter indices of intensity parameters that are fixed.

Definition at line 61 of file ComptonScatteringCountRate.h.

Referenced by cacheBackground(), cacheComptonProfile(), cacheFunctions(), createEqualityCM(), createPositivityCM(), and setFixedParameterValues().

◆ m_hist

std::shared_ptr<HistogramData::Histogram> Mantid::CurveFitting::Functions::ComptonScatteringCountRate::m_hist
private

The histogram of the matrix workspace being cached for use.

Definition at line 71 of file ComptonScatteringCountRate.h.

Referenced by createPositivityCM(), setMatrixWorkspace(), and updateCMatrixValues().

◆ m_profiles

std::vector<ComptonProfile *> Mantid::CurveFitting::Functions::ComptonScatteringCountRate::m_profiles
private

Holder for non-owning functions cast as ComptonProfiles.

Definition at line 59 of file ComptonScatteringCountRate.h.

Referenced by cacheComptonProfile(), cacheFunctions(), createConstraintMatrices(), and updateCMatrixValues().

◆ wsIndex

size_t Mantid::CurveFitting::Functions::ComptonScatteringCountRate::wsIndex
private

The workspace index being worked on.

Definition at line 73 of file ComptonScatteringCountRate.h.

Referenced by setMatrixWorkspace().


The documentation for this class was generated from the following files: