Mantid
|
A composite function defined on a CompositeDomain. More...
#include <MultiDomainFunction.h>
Public Member Functions | |
void | clearDomainIndices () |
Clear all domain indices. More... | |
std::vector< IFunction_sptr > | createEquivalentFunctions () const override |
Create a list of equivalent functions. 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... | |
void | getDomainIndices (size_t funIndex, size_t nDomains, std::vector< size_t > &domains) const |
Get domain indices for a member function. More... | |
Attribute | getLocalAttribute (size_t funIndex, const std::string &attName) const override |
Return a value of attribute attName. More... | |
std::vector< std::string > | getLocalAttributeNames () const override |
Returns a list of attribute names. More... | |
size_t | getMaxIndex () const |
Get the largest domain index. More... | |
size_t | getNumberDomains () const override |
Get number of domains required by this function. More... | |
bool | hasLocalAttribute (const std::string &attName) const override |
Check if attribute attName exists. More... | |
void | iterationFinished () override |
Called at the end of an iteration. More... | |
void | iterationStarting () override |
Called at the start of each iteration. More... | |
MultiDomainFunction () | |
Constructor. More... | |
std::string | name () const override |
Returns the function's name. More... | |
size_t | nLocalAttributes () const override |
Returns the number of "local" attributes associated with the function. More... | |
void | setDomainIndex (size_t funIndex, size_t domainIndex) |
Associate a function and a domain. More... | |
void | setDomainIndices (size_t funIndex, const std::vector< size_t > &domainIndices) |
Associate a function and a list of domains. More... | |
void | setLocalAttribute (size_t funIndex, const std::string &attName, const Attribute &) override |
Set a value to attribute attName. 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... | |
IConstraint * | getConstraint (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... | |
ParameterTie * | getTie (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< 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... | |
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< IFunction > | getFunction (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... | |
FunctionHandler * | getHandler () const |
Return the handler. More... | |
Protected Member Functions | |
void | countNumberOfDomains () |
Counts number of the domains. More... | |
void | countValueOffsets (const CompositeDomain &domain) const |
Count value offsets for each member domain in a CompositeDomain. 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 | |
std::map< size_t, std::vector< size_t > > | m_domains |
Domain index map: finction -> domain. More... | |
size_t | m_maxIndex |
Maximum domain index. More... | |
size_t | m_nDomains |
Number of domains this MultiDomainFunction operates on. More... | |
std::vector< size_t > | m_valueOffsets |
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... | |
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... | |
A composite function defined on a CompositeDomain.
Member functions can be applied to one or more member domains of the CompositeDomain. If two functions applied to the same domain the results are added (+).
Definition at line 28 of file MultiDomainFunction.h.
Mantid::API::MultiDomainFunction::MultiDomainFunction | ( | ) |
Constructor.
Definition at line 23 of file MultiDomainFunction.cpp.
void Mantid::API::MultiDomainFunction::clearDomainIndices | ( | ) |
Clear all domain indices.
Definition at line 76 of file MultiDomainFunction.cpp.
References countNumberOfDomains(), and m_domains.
|
protected |
Counts number of the domains.
Definition at line 52 of file MultiDomainFunction.cpp.
References m_domains, m_maxIndex, and m_nDomains.
Referenced by clearDomainIndices(), setDomainIndex(), and setDomainIndices().
|
protected |
Count value offsets for each member domain in a CompositeDomain.
Definition at line 66 of file MultiDomainFunction.cpp.
References Mantid::Geometry::d, Mantid::API::CompositeDomain::getDomain(), Mantid::API::CompositeDomain::getNParts(), and m_valueOffsets.
Referenced by function(), and functionDeriv().
|
overridevirtual |
Create a list of equivalent functions.
Split this function into independent functions.
The number of functions in the returned vector must be equal to the number of domains. The result of evaluation of the i-th function on the i-th domain must be the same as if this MultiDomainFunction was evaluated.
Reimplemented from Mantid::API::CompositeFunction.
Definition at line 314 of file MultiDomainFunction.cpp.
References Mantid::API::IFunction::asString(), Mantid::API::CompositeFunction::CompositeFunction(), getDomainIndices(), Mantid::API::CompositeFunction::getFunction(), Mantid::Kernel::SingletonHolder< T >::Instance(), m_maxIndex, Mantid::API::CompositeFunction::nFunctions(), and std::to_string().
|
overridevirtual |
Function you want to fit to.
domain | :: The input domain over which the function is to be calculated |
values | :: A storage object for the calculated values |
domain | :: The buffer for writing the calculated values. Must be big enough to accept dataSize() values |
Reimplemented from Mantid::API::CompositeFunction.
Definition at line 105 of file MultiDomainFunction.cpp.
References Mantid::API::FunctionValues::addToCalculated(), countValueOffsets(), Mantid::Geometry::d, getDomainIndices(), Mantid::API::CompositeFunction::getFunction(), m_maxIndex, m_valueOffsets, Mantid::API::CompositeFunction::nFunctions(), Mantid::API::FunctionValues::size(), tmp, std::to_string(), and Mantid::API::FunctionValues::zeroCalculated().
|
overridevirtual |
Derivatives of function with respect to active parameters.
Reimplemented from Mantid::API::CompositeFunction.
Definition at line 144 of file MultiDomainFunction.cpp.
References Mantid::API::IFunction::calNumericalDeriv(), countValueOffsets(), Mantid::Geometry::d, Mantid::API::CompositeFunction::getAttribute(), getDomainIndices(), Mantid::API::CompositeFunction::getFunction(), m_maxIndex, m_valueOffsets, Mantid::API::CompositeFunction::nFunctions(), Mantid::API::CompositeFunction::paramOffset(), std::to_string(), and Mantid::API::Jacobian::zero().
void Mantid::API::MultiDomainFunction::getDomainIndices | ( | size_t | funIndex, |
size_t | nDomains, | ||
std::vector< size_t > & | domains | ||
) | const |
Get domain indices for a member function.
Populates a vector with domain indices assigned to function i.
funIndex | :: Index of a function to get the domain info about. |
nDomains | :: Maximum number of domains. |
domains | :: (Output) vector to collect domain indixes. |
Definition at line 87 of file MultiDomainFunction.cpp.
References m_domains.
Referenced by createEquivalentFunctions(), function(), and functionDeriv().
|
overridevirtual |
Return a value of attribute attName.
Reimplemented from Mantid::API::CompositeFunction.
Definition at line 202 of file MultiDomainFunction.cpp.
References m_domains, Mantid::API::CompositeFunction::nFunctions(), and std::to_string().
|
inlineoverridevirtual |
Returns a list of attribute names.
Reimplemented from Mantid::API::CompositeFunction.
Definition at line 68 of file MultiDomainFunction.h.
|
inline |
Get the largest domain index.
Definition at line 54 of file MultiDomainFunction.h.
Referenced by getNumberDomains().
|
overridevirtual |
Get number of domains required by this function.
Reimplemented from Mantid::API::CompositeFunction.
Definition at line 100 of file MultiDomainFunction.cpp.
References getMaxIndex().
|
inlineoverridevirtual |
Check if attribute attName exists.
Reimplemented from Mantid::API::CompositeFunction.
Definition at line 74 of file MultiDomainFunction.h.
|
overridevirtual |
Called at the end of an iteration.
Call iterationFinished() of the members.
Reimplemented from Mantid::API::IFunction.
Definition at line 195 of file MultiDomainFunction.cpp.
References Mantid::API::CompositeFunction::getFunction(), and Mantid::API::CompositeFunction::nFunctions().
|
overridevirtual |
Called at the start of each iteration.
Call iterationStarting() of the members.
Reimplemented from Mantid::API::IFunction.
Definition at line 186 of file MultiDomainFunction.cpp.
References Mantid::API::CompositeFunction::getFunction(), and Mantid::API::CompositeFunction::nFunctions().
|
inlineoverridevirtual |
Returns the function's name.
Reimplemented from Mantid::API::CompositeFunction.
Definition at line 34 of file MultiDomainFunction.h.
|
inlineoverridevirtual |
Returns the number of "local" attributes associated with the function.
Local attributes are attributes of MultiDomainFunction but describe properties of individual member functions.
Reimplemented from Mantid::API::CompositeFunction.
Definition at line 66 of file MultiDomainFunction.h.
void Mantid::API::MultiDomainFunction::setDomainIndex | ( | size_t | funIndex, |
size_t | domainIndex | ||
) |
Associate a function and a domain.
Associate a member function and a domain.
The function will only be applied to this domain.
funIndex | :: Index of a member function. |
domainIndex | :: Index of a domain to be associated with the function. |
Definition at line 31 of file MultiDomainFunction.cpp.
References countNumberOfDomains(), and m_domains.
Referenced by export_MultiDomainFunction(), and setLocalAttribute().
void Mantid::API::MultiDomainFunction::setDomainIndices | ( | size_t | funIndex, |
const std::vector< size_t > & | domainIndices | ||
) |
Associate a function and a list of domains.
Associate a member function and a list of domains.
The function will only be applied to the listed domains.
funIndex | :: Index of a member function. |
domainIndices | :: A vector with indices of domains to be associated with the function. |
Definition at line 44 of file MultiDomainFunction.cpp.
References countNumberOfDomains(), and m_domains.
Referenced by setLocalAttribute().
|
overridevirtual |
Set a value to attribute attName.
Set a value to a "local" attribute, ie an attribute related to a member function.
The only attribute that can be set here is "domains" which defines the indices of domains a particular function is applied to. Possible values are (strings):
1) "All" : the function is applied to all domains defined for this
MultiDomainFunction. 2) "i" : the function is applied to a single domain which index is equal to the function's index in this MultiDomainFunction. 3) "non-negative integer" : a domain index. 4) "a,b,c,..." : a list of domain indices (a,b,c,.. are non-negative integers). 5) "a - b" : a range of domain indices (a,b are non-negative integers a <= b).
To be used with Fit algorithm at least one of the member functions must have "domains" value of type 2), 3), 4) or 5) because these values can tell Fit how many domains need to be created.
funIndex | :: Index of a function for which the attribute is being set. |
attName | :: Name of an attribute. |
att | :: Value of the attribute to set. |
Reimplemented from Mantid::API::CompositeFunction.
Definition at line 254 of file MultiDomainFunction.cpp.
References Mantid::API::IFunction::Attribute::asString(), Mantid::API::Expression::begin(), Mantid::API::Expression::end(), m_domains, Mantid::API::Expression::name(), Mantid::API::CompositeFunction::nFunctions(), Mantid::API::Expression::parse(), setDomainIndex(), setDomainIndices(), Mantid::API::Expression::size(), Mantid::API::Expression::terms(), Mantid::API::Expression::toList(), and value.
|
protected |
Domain index map: finction -> domain.
Definition at line 82 of file MultiDomainFunction.h.
Referenced by clearDomainIndices(), countNumberOfDomains(), getDomainIndices(), getLocalAttribute(), setDomainIndex(), setDomainIndices(), and setLocalAttribute().
|
protected |
Maximum domain index.
Definition at line 87 of file MultiDomainFunction.h.
Referenced by countNumberOfDomains(), createEquivalentFunctions(), function(), and functionDeriv().
|
protected |
Number of domains this MultiDomainFunction operates on.
== number of different values in m_domains
Definition at line 85 of file MultiDomainFunction.h.
Referenced by countNumberOfDomains().
|
mutableprotected |
Definition at line 88 of file MultiDomainFunction.h.
Referenced by countValueOffsets(), function(), and functionDeriv().