RAIDA  1.9.0
Public Member Functions | List of all members
AIDA::IFunctionFactoryROOT Class Reference
Inheritance diagram for AIDA::IFunctionFactoryROOT:
AIDA::IFunctionFactory

Public Member Functions

virtual ~IFunctionFactoryROOT ()
 Destructor.
 
virtual IFunctioncreateFunctionByName (const std::string &path, const std::string &model)
 Create function from a model registered in the catalog. More...
 
virtual IFunctioncreateFunctionFromScript (const std::string &name, int dim, const std::string &valexpr, const std::string &parameters, const std::string &description, const std::string &gradexpr="")
 Create function from script. More...
 
virtual IFunctioncloneFunction (const std::string &path, IFunction &f)
 Create a clone of an existing function. More...
 
virtual IFunctionCatalogcatalog ()
 get access to the function catalog
 
- Public Member Functions inherited from AIDA::IFunctionFactory
virtual ~IFunctionFactory ()
 Destructor.
 

Member Function Documentation

IFunction * IFunctionFactoryROOT::cloneFunction ( const std::string &  path,
IFunction f 
)
virtual

Create a clone of an existing function.

Parameters
pathThe path of the IFunction. The path can either be a relative or full path. ("/folder1/folder2/functionName" and "../folder/functionName" are valid paths). All the directories in the path must exist. The characther / cannot be used in names; it is only used to delimit directories within paths.
fThe IFunction to be cloned.
Returns
The clone of the provided IFunction.
IFunction * IFunctionFactoryROOT::createFunctionByName ( const std::string &  path,
const std::string &  model 
)
virtual

Create function from a model registered in the catalog.

This is the easiest way to create simple model functions for fitting. Every AIDA compliant implementation should predefine "G", "E", "Pn" (n is an integer, e.e "P0","P5"). Simple operations are permitted, e.g. "G+P2".

Parameters
pathThe path of the IFunction. The path can either be a relative or full path. ("/folder1/folder2/functionName" and "../folder/functionName" are valid paths). All the directories in the path must exist. The characther / cannot be used in names; it is only used to delimit directories within paths.
modelThe model of the function to be created.
Returns
The newly created function.
IFunction * IFunctionFactoryROOT::createFunctionFromScript ( const std::string &  name,
int  dim,
const std::string &  valexpr,
const std::string &  parameters,
const std::string &  description,
const std::string &  gradexpr = "" 
)
virtual

Create function from script.

Script conventions: createFunctionFromScript("f1", 2, "a*x[0]*x[0] + b*x[1]", "a,b","this is my function", "x[0]*x[0],x[1]")

Parameters
pathThe path of the IFunction. The path can either be a relative or full path. ("/folder1/folder2/functionName" and "../folder/functionName" are valid paths). All the directories in the path must exist. The characther / cannot be used in names; it is only used to delimit directories within paths.
dimThe dimension of the function, i.e. the number of variables.
valexprThe expression of the scripted function.
parametersA comma separeted list of what has to be considered as a parameter in the valexpr expression.
descriptionThe description of the function.
gradexprA comma separated list of the expressions for the derivatives of the function with respect to the parameters.
Returns
The newly created function provided expressions is illigal.

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