Mantid
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes | List of all members
Mantid::PythonInterface::IFunctionAdapter Class Reference

Provides a layer to hook into the protected functions of IFunction. More...

#include <IFunctionAdapter.h>

Inheritance diagram for Mantid::PythonInterface::IFunctionAdapter:
Mantid::API::IFunction Mantid::PythonInterface::IFunction1DAdapter Mantid::PythonInterface::IPeakFunctionAdapter

Public Member Functions

double activeParameter (size_t i) const override
 Override this method to make fitted parameters different from the declared. More...
 
const std::string category () const override
 Specify a category for the function. More...
 
void declareAttribute (const std::string &name, const boost::python::object &defaultValue)
 Declare an attribute with an initial value. More...
 
void declareAttribute (const std::string &name, const boost::python::object &defaultValue, const boost::python::object &validator)
 Declare an attribute with an initial value and validator. More...
 
void declareFitParameter (const std::string &name, double initValue, const std::string &description)
 Declare a named parameter with initial value & description. More...
 
void declareFitParameterNoDescr (const std::string &name, double initValue)
 Declare a named parameter with initial value. More...
 
void declareFitParameterZeroInit (const std::string &name)
 Declare a named parameter with initial value = 0.0. More...
 
 IFunctionAdapter (const IFunctionAdapter &)=delete
 The PyObject must be supplied to construct the object. More...
 
 IFunctionAdapter (PyObject *self, std::string functionMethod, std::string derivMethod)
 A constructor that looks like a Python init method. More...
 
void init () override
 Declare all attributes & parameters. More...
 
std::string name () const override
 Returns the name of the function. More...
 
IFunctionAdapteroperator= (const IFunctionAdapter &)=delete
 Disable assignment operator. More...
 
void setActiveParameter (size_t i, double value) override
 Override this method to make fitted parameters different from the declared. More...
 
void setAttribute (const std::string &attName, const API::IFunction::Attribute &attr) override
 Called by the framework when an attribute has been set. 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...
 
virtual void setParameter (size_t, const double &value, bool explicitlySet=true)=0
 Set i-th parameter. More...
 
virtual void setParameterDescription (size_t, const std::string &description)=0
 Set i-th parameter description. More...
 
virtual double getParameter (size_t i) const =0
 Get i-th parameter. More...
 
virtual void setParameter (const std::string &name, const double &value, bool explicitlySet=true)=0
 Set parameter by name. More...
 
virtual void setParameterDescription (const std::string &name, const std::string &description)=0
 Set description of parameter by name. More...
 
virtual double getParameter (const std::string &name) const =0
 Get parameter by name. More...
 
virtual bool hasParameter (const std::string &name) const =0
 Check if function has a parameter with this name. More...
 
virtual size_t nParams () const =0
 Total number of parameters. More...
 
virtual size_t parameterIndex (const std::string &name) const =0
 Returns the index of parameter name. More...
 
virtual std::string parameterName (size_t i) const =0
 Returns the name of parameter i. More...
 
virtual std::string parameterDescription (size_t i) const =0
 Returns the description of parameter i. More...
 
virtual bool isExplicitlySet (size_t i) const =0
 Checks if a parameter has been set explicitly. More...
 
virtual double getError (size_t i) const =0
 Get the fitting error for a parameter. More...
 
virtual double getError (const std::string &name) const =0
 Get the fitting error for a parameter by name. More...
 
virtual void setError (size_t i, double err)=0
 Set the fitting error for a parameter. More...
 
virtual void setError (const std::string &name, double err)=0
 Set the fitting error for a parameter by name. 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...
 
virtual size_t getParameterIndex (const ParameterReference &ref) const =0
 Return parameter index from a parameter reference. More...
 
std::vector< std::string > getParameterNames () const
 Return a vector with all parameter names. 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 ParameterTiegetTie (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 IConstraintgetConstraint (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 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< IFunctiongetFunction (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...
 
FunctionHandlergetHandler () const
 Return the handler. More...
 
virtual void setParameterStatus (size_t i, ParameterStatus status)=0
 Change status of parameter. More...
 
virtual ParameterStatus getParameterStatus (size_t i) const =0
 Get status of parameter. More...
 
virtual void setStepSizeMethod (const StepSizeMethod method)
 Sets the StepSizeMethod to use when calculation the step size. More...
 

Static Public Member Functions

static boost::python::list createPythonEquivalentFunctions (const IFunction &self)
 Split this function (if needed) into a list of independent functions. More...
 
static PyObject * getAttributeValue (const IFunction &self, const API::IFunction::Attribute &attr)
 Returns the attribute's value as a Python object. More...
 
static PyObject * getAttributeValue (const IFunction &self, const std::string &name)
 Get a named attribute value. More...
 
static void setAttributePythonValue (IFunction &self, const std::string &name, const boost::python::object &value)
 Set the attribute's value. More...
 

Protected Member Functions

bool derivativeOverridden () const
 
void evaluateDerivative (API::Jacobian *out, const double *xValues, const size_t nData) const
 Evaluate the derivative by calling the overridden method. More...
 
void evaluateFunction (double *out, const double *xValues, const size_t nData) const
 Evaluate the function by calling the overridden method. More...
 
PyObject * getSelf () const
 
- Protected Member Functions inherited from Mantid::API::IFunction
virtual void declareParameter (const std::string &name, double initValue=0, const std::string &description="")=0
 Declare a new parameter. 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...
 

Private Attributes

std::string m_derivName
 The name of the method to evaluate the derivative. More...
 
bool m_derivOveridden
 Flag if the derivateive method is overridden (avoids multiple checks) More...
 
std::string m_functionName
 The name of the method to evaluate the function. More...
 
PyObject * m_self
 The Python portion of the object. 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 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

Provides a layer to hook into the protected functions of IFunction.

Definition at line 23 of file IFunctionAdapter.h.

Constructor & Destructor Documentation

◆ IFunctionAdapter() [1/2]

Mantid::PythonInterface::IFunctionAdapter::IFunctionAdapter ( PyObject *  self,
std::string  functionMethod,
std::string  derivMethod 
)

A constructor that looks like a Python init method.

Construct the wrapper and stores the reference to the PyObject.

Parameters
selfA reference to the calling Python object
functionMethodThe name of the function method that must be present
derivMethodThe name of the derivative method that may be overridden

Definition at line 81 of file IFunctionAdapter.cpp.

References m_functionName, and Mantid::PythonInterface::typeHasAttribute().

◆ IFunctionAdapter() [2/2]

Mantid::PythonInterface::IFunctionAdapter::IFunctionAdapter ( const IFunctionAdapter )
delete

The PyObject must be supplied to construct the object.

Member Function Documentation

◆ activeParameter()

double Mantid::PythonInterface::IFunctionAdapter::activeParameter ( size_t  i) const
overridevirtual

Override this method to make fitted parameters different from the declared.

Value of i-th active parameter.

If this functions is overridden in Python then it returns the value of the ith active Parameter If not it simple returns the base class result

Parameters
iThe index of the parameter

Reimplemented from Mantid::API::IFunction.

Definition at line 234 of file IFunctionAdapter.cpp.

References Mantid::API::IFunction::activeParameter(), and getSelf().

◆ category()

const std::string Mantid::PythonInterface::IFunctionAdapter::category ( ) const
overridevirtual

Specify a category for the function.

Reimplemented from Mantid::API::IFunction.

Definition at line 98 of file IFunctionAdapter.cpp.

References Mantid::API::IFunction::category(), and getSelf().

Referenced by export_IFunction().

◆ createPythonEquivalentFunctions()

boost::python::list Mantid::PythonInterface::IFunctionAdapter::createPythonEquivalentFunctions ( const IFunction self)
static

Split this function (if needed) into a list of independent functions.

Parameters
self:: A reference to a function object. If it's a multi-domain function the result should in general contain more than 1 function. For a single domain function it should have a single element (self).
Returns
A python list of IFunction_sprs.

Definition at line 219 of file IFunctionAdapter.cpp.

References Mantid::API::IFunction::createEquivalentFunctions().

Referenced by export_IFunction().

◆ declareAttribute() [1/2]

void Mantid::PythonInterface::IFunctionAdapter::declareAttribute ( const std::string &  name,
const boost::python::object &  defaultValue 
)

Declare an attribute with an initial value.

Declare an attribute on the given function from a python object.

Parameters
name:: The name of the new attribute
defaultValue:: The default value for the attribute

Definition at line 113 of file IFunctionAdapter.cpp.

References Mantid::API::IFunction::declareAttribute(), Mantid::API::IFunction::getAttribute(), getSelf(), Mantid::API::IFunction::hasAttribute(), and name().

Referenced by export_IFunction().

◆ declareAttribute() [2/2]

void Mantid::PythonInterface::IFunctionAdapter::declareAttribute ( const std::string &  name,
const boost::python::object &  defaultValue,
const boost::python::object &  validator 
)

Declare an attribute with an initial value and validator.

Declare an attribute on the given function from a python object, with a validator.

Parameters
name:: The name of the new attribute
defaultValue:: The default value for the attribute
validator:: The validator used to restrict the attribute values

Definition at line 130 of file IFunctionAdapter.cpp.

References Mantid::API::IFunction::declareAttribute(), Mantid::API::IFunction::getAttribute(), getSelf(), Mantid::API::IFunction::hasAttribute(), and name().

◆ declareFitParameter()

void Mantid::PythonInterface::IFunctionAdapter::declareFitParameter ( const std::string &  name,
double  initValue,
const std::string &  description 
)
inline

Declare a named parameter with initial value & description.

Parameters
name:: The name of the parameter
initValue:: The initial value
description:: A short description of the parameter

Definition at line 66 of file IFunctionAdapter.h.

References Mantid::API::IFunction::declareParameter().

Referenced by declareFitParameterNoDescr(), declareFitParameterZeroInit(), and export_IFunction().

◆ declareFitParameterNoDescr()

void Mantid::PythonInterface::IFunctionAdapter::declareFitParameterNoDescr ( const std::string &  name,
double  initValue 
)
inline

Declare a named parameter with initial value.

Parameters
name:: The name of the parameter
initValue:: The initial value

Definition at line 75 of file IFunctionAdapter.h.

References declareFitParameter().

Referenced by export_IFunction().

◆ declareFitParameterZeroInit()

void Mantid::PythonInterface::IFunctionAdapter::declareFitParameterZeroInit ( const std::string &  name)
inline

Declare a named parameter with initial value = 0.0.

Parameters
name:: The name of the parameter

Definition at line 83 of file IFunctionAdapter.h.

References declareFitParameter().

Referenced by export_IFunction().

◆ derivativeOverridden()

bool Mantid::PythonInterface::IFunctionAdapter::derivativeOverridden ( ) const
inlineprotected
Returns
True if the instance overrides the derivative method

Definition at line 95 of file IFunctionAdapter.h.

References m_derivOveridden.

Referenced by Mantid::PythonInterface::IFunction1DAdapter::functionDeriv1D(), and Mantid::PythonInterface::IPeakFunctionAdapter::functionDerivLocal().

◆ evaluateDerivative()

void Mantid::PythonInterface::IFunctionAdapter::evaluateDerivative ( API::Jacobian out,
const double *  xValues,
const size_t  nData 
) const
protected

Evaluate the derivative by calling the overridden method.

If the method does not exist on the derived type then then base implementation is called.

Parameters
outAm output Jacobian accept the result values
xValuesThe input domain
nDataThe size of the input and output arrays

Definition at line 316 of file IFunctionAdapter.cpp.

References getSelf(), and m_derivName.

Referenced by Mantid::PythonInterface::IFunction1DAdapter::functionDeriv1D(), and Mantid::PythonInterface::IPeakFunctionAdapter::functionDerivLocal().

◆ evaluateFunction()

void Mantid::PythonInterface::IFunctionAdapter::evaluateFunction ( double *  out,
const double *  xValues,
const size_t  nData 
) const
protected

Evaluate the function by calling the overridden method.

The result is copied from the numpy array that is returned into the provided output array.

Parameters
outA pre-sized array to accept the result values
xValuesThe input domain
nDataThe size of the input and output arrays

Definition at line 264 of file IFunctionAdapter.cpp.

References dtype(), getSelf(), and m_functionName.

Referenced by Mantid::PythonInterface::IFunction1DAdapter::function1D(), and Mantid::PythonInterface::IPeakFunctionAdapter::functionLocal().

◆ getAttributeValue() [1/2]

PyObject * Mantid::PythonInterface::IFunctionAdapter::getAttributeValue ( const IFunction self,
const API::IFunction::Attribute attr 
)
static

Returns the attribute's value as a Python object.

Get the value of the given attribute as a Python object.

Parameters
self:: A reference to a function object that has the attribute.
attrAn attribute object
Returns
The value of the attribute

Definition at line 166 of file IFunctionAdapter.cpp.

References Mantid::API::IFunction::Attribute::asBool(), Mantid::API::IFunction::Attribute::asDouble(), Mantid::API::IFunction::Attribute::asInt(), Mantid::API::IFunction::Attribute::asString(), Mantid::API::IFunction::Attribute::asVector(), Mantid::API::IFunction::Attribute::type(), and UNUSED_ARG.

◆ getAttributeValue() [2/2]

PyObject * Mantid::PythonInterface::IFunctionAdapter::getAttributeValue ( const IFunction self,
const std::string &  name 
)
static

Get a named attribute value.

Get the value of the named attribute as a Python object.

Parameters
self:: A reference to a function object that has the attribute.
name:: The name of the new attribute.
Returns
The value of the attribute

Definition at line 155 of file IFunctionAdapter.cpp.

References Mantid::API::IFunction::getAttribute(), getAttributeValue(), and name().

Referenced by export_IFunction(), getAttributeValue(), and setAttribute().

◆ getSelf()

PyObject * Mantid::PythonInterface::IFunctionAdapter::getSelf ( ) const
inlineprotected

◆ init()

void Mantid::PythonInterface::IFunctionAdapter::init ( )
overridevirtual

Declare all attributes & parameters.

Reimplemented from Mantid::API::IFunction.

Definition at line 106 of file IFunctionAdapter.cpp.

References getSelf().

◆ name()

std::string Mantid::PythonInterface::IFunctionAdapter::name ( ) const
overridevirtual

Returns the name of the function.

Returns
The class name of the function. This cannot be overridden in Python.

Implements Mantid::API::IFunction.

Definition at line 93 of file IFunctionAdapter.cpp.

References getSelf().

Referenced by declareAttribute(), getAttributeValue(), and setAttributePythonValue().

◆ operator=()

IFunctionAdapter & Mantid::PythonInterface::IFunctionAdapter::operator= ( const IFunctionAdapter )
delete

Disable assignment operator.

◆ setActiveParameter()

void Mantid::PythonInterface::IFunctionAdapter::setActiveParameter ( size_t  i,
double  value 
)
overridevirtual

Override this method to make fitted parameters different from the declared.

Sets the value of i-th active parameter.

If this functions is overridden in Python then it should set the value of the ith active parameter. If not calls the base class function

Parameters
iThe index of the parameter
valueThe new value of the active parameter

Reimplemented from Mantid::API::IFunction.

Definition at line 249 of file IFunctionAdapter.cpp.

References getSelf(), Mantid::API::IFunction::setActiveParameter(), and value.

◆ setAttribute()

void Mantid::PythonInterface::IFunctionAdapter::setAttribute ( const std::string &  attName,
const API::IFunction::Attribute attr 
)
overridevirtual

Called by the framework when an attribute has been set.

Calls setAttributeValue on the Python object if it exists otherwise calls the base class method.

Parameters
attNameThe name of the attribute
attrAn attribute object

Reimplemented from Mantid::API::IFunction.

Definition at line 203 of file IFunctionAdapter.cpp.

References getAttributeValue(), getSelf(), Mantid::API::IFunction::setAttribute(), Mantid::API::IFunction::storeAttributeValue(), and value.

◆ setAttributePythonValue()

void Mantid::PythonInterface::IFunctionAdapter::setAttributePythonValue ( IFunction self,
const std::string &  name,
const boost::python::object &  value 
)
static

Set the attribute's value.

Set the attribute's value in the default IFunction's cache.

Parameters
self:: A reference to a function object that has the attribute.
name:: The name of the attribute
value:: The value to set

Definition at line 192 of file IFunctionAdapter.cpp.

References Mantid::API::IFunction::getAttribute(), name(), Mantid::API::IFunction::setAttribute(), and value.

Referenced by export_IFunction().

Member Data Documentation

◆ m_derivName

std::string Mantid::PythonInterface::IFunctionAdapter::m_derivName
private

The name of the method to evaluate the derivative.

Definition at line 107 of file IFunctionAdapter.h.

Referenced by evaluateDerivative().

◆ m_derivOveridden

bool Mantid::PythonInterface::IFunctionAdapter::m_derivOveridden
private

Flag if the derivateive method is overridden (avoids multiple checks)

Definition at line 109 of file IFunctionAdapter.h.

Referenced by derivativeOverridden().

◆ m_functionName

std::string Mantid::PythonInterface::IFunctionAdapter::m_functionName
private

The name of the method to evaluate the function.

Definition at line 105 of file IFunctionAdapter.h.

Referenced by evaluateFunction(), and IFunctionAdapter().

◆ m_self

PyObject* Mantid::PythonInterface::IFunctionAdapter::m_self
private

The Python portion of the object.

Definition at line 103 of file IFunctionAdapter.h.

Referenced by getSelf().


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