\section{A\-I\-D\-A\-:\-:I\-Function\-Factory\-R\-O\-O\-T Class Reference}
\label{classAIDA_1_1IFunctionFactoryROOT}\index{A\-I\-D\-A\-::\-I\-Function\-Factory\-R\-O\-O\-T@{A\-I\-D\-A\-::\-I\-Function\-Factory\-R\-O\-O\-T}}
Inheritance diagram for A\-I\-D\-A\-:\-:I\-Function\-Factory\-R\-O\-O\-T\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classAIDA_1_1IFunctionFactoryROOT}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual {\bf $\sim$\-I\-Function\-Factory\-R\-O\-O\-T} ()\label{classAIDA_1_1IFunctionFactoryROOT_a538dbe89ffafdde19a8c6ce4c4a8351e}

\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
virtual {\bf I\-Function} $\ast$ {\bf create\-Function\-By\-Name} (const std\-::string \&path, const std\-::string \&model)
\begin{DoxyCompactList}\small\item\em Create function from a model registered in the catalog. \end{DoxyCompactList}\item 
virtual {\bf I\-Function} $\ast$ {\bf create\-Function\-From\-Script} (const std\-::string \&name, int dim, const std\-::string \&valexpr, const std\-::string \&parameters, const std\-::string \&description, const std\-::string \&gradexpr=\char`\"{}\char`\"{})
\begin{DoxyCompactList}\small\item\em Create function from script. \end{DoxyCompactList}\item 
virtual {\bf I\-Function} $\ast$ {\bf clone\-Function} (const std\-::string \&path, {\bf I\-Function} \&f)
\begin{DoxyCompactList}\small\item\em Create a clone of an existing function. \end{DoxyCompactList}\item 
virtual {\bf I\-Function\-Catalog} $\ast$ {\bf catalog} ()\label{classAIDA_1_1IFunctionFactoryROOT_a4f028c0bc448882c4fadd532ba076a40}

\begin{DoxyCompactList}\small\item\em get access to the function catalog \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Member Function Documentation}
\index{A\-I\-D\-A\-::\-I\-Function\-Factory\-R\-O\-O\-T@{A\-I\-D\-A\-::\-I\-Function\-Factory\-R\-O\-O\-T}!clone\-Function@{clone\-Function}}
\index{clone\-Function@{clone\-Function}!AIDA::IFunctionFactoryROOT@{A\-I\-D\-A\-::\-I\-Function\-Factory\-R\-O\-O\-T}}
\subsubsection[{clone\-Function}]{\setlength{\rightskip}{0pt plus 5cm}{\bf I\-Function} $\ast$ I\-Function\-Factory\-R\-O\-O\-T\-::clone\-Function (
\begin{DoxyParamCaption}
\item[{const std\-::string \&}]{path, }
\item[{{\bf I\-Function} \&}]{f}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}\label{classAIDA_1_1IFunctionFactoryROOT_ab1cdfde78874c7ccb020b224a5ae097c}


Create a clone of an existing function. 


\begin{DoxyParams}{Parameters}
{\em path} & The path of the \doxyref{I\-Function}{p.}{classAIDA_1_1IFunction}. The path can either be a relative or full path. (\char`\"{}/folder1/folder2/function\-Name\char`\"{} and \char`\"{}../folder/function\-Name\char`\"{} are valid paths). All the directories in the path must exist. The characther {\ttfamily /} cannot be used in names; it is only used to delimit directories within paths. \\
\hline
{\em f} & The \doxyref{I\-Function}{p.}{classAIDA_1_1IFunction} to be cloned. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The clone of the provided \doxyref{I\-Function}{p.}{classAIDA_1_1IFunction}. 
\end{DoxyReturn}
\index{A\-I\-D\-A\-::\-I\-Function\-Factory\-R\-O\-O\-T@{A\-I\-D\-A\-::\-I\-Function\-Factory\-R\-O\-O\-T}!create\-Function\-By\-Name@{create\-Function\-By\-Name}}
\index{create\-Function\-By\-Name@{create\-Function\-By\-Name}!AIDA::IFunctionFactoryROOT@{A\-I\-D\-A\-::\-I\-Function\-Factory\-R\-O\-O\-T}}
\subsubsection[{create\-Function\-By\-Name}]{\setlength{\rightskip}{0pt plus 5cm}{\bf I\-Function} $\ast$ I\-Function\-Factory\-R\-O\-O\-T\-::create\-Function\-By\-Name (
\begin{DoxyParamCaption}
\item[{const std\-::string \&}]{path, }
\item[{const std\-::string \&}]{model}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}\label{classAIDA_1_1IFunctionFactoryROOT_aa309847be9b86c5d39803dc02f06eb94}


Create function from a model registered in the catalog. 

This is the easiest way to create simple model functions for fitting. Every \doxyref{A\-I\-D\-A}{p.}{namespaceAIDA} compliant implementation should predefine \char`\"{}\-G\char`\"{}, \char`\"{}\-E\char`\"{}, \char`\"{}\-Pn\char`\"{} (n is an integer, e.\-e \char`\"{}\-P0\char`\"{},\char`\"{}\-P5\char`\"{}). Simple operations are permitted, e.\-g. \char`\"{}\-G+\-P2\char`\"{}. 
\begin{DoxyParams}{Parameters}
{\em path} & The path of the \doxyref{I\-Function}{p.}{classAIDA_1_1IFunction}. The path can either be a relative or full path. (\char`\"{}/folder1/folder2/function\-Name\char`\"{} and \char`\"{}../folder/function\-Name\char`\"{} are valid paths). All the directories in the path must exist. The characther {\ttfamily /} cannot be used in names; it is only used to delimit directories within paths. \\
\hline
{\em model} & The model of the function to be created. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The newly created function. 
\end{DoxyReturn}
\index{A\-I\-D\-A\-::\-I\-Function\-Factory\-R\-O\-O\-T@{A\-I\-D\-A\-::\-I\-Function\-Factory\-R\-O\-O\-T}!create\-Function\-From\-Script@{create\-Function\-From\-Script}}
\index{create\-Function\-From\-Script@{create\-Function\-From\-Script}!AIDA::IFunctionFactoryROOT@{A\-I\-D\-A\-::\-I\-Function\-Factory\-R\-O\-O\-T}}
\subsubsection[{create\-Function\-From\-Script}]{\setlength{\rightskip}{0pt plus 5cm}{\bf I\-Function} $\ast$ I\-Function\-Factory\-R\-O\-O\-T\-::create\-Function\-From\-Script (
\begin{DoxyParamCaption}
\item[{const std\-::string \&}]{name, }
\item[{int}]{dim, }
\item[{const std\-::string \&}]{valexpr, }
\item[{const std\-::string \&}]{parameters, }
\item[{const std\-::string \&}]{description, }
\item[{const std\-::string \&}]{gradexpr = {\ttfamily \char`\"{}\char`\"{}}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}\label{classAIDA_1_1IFunctionFactoryROOT_a7387b9fe0e67c598e500a1926ae991ab}


Create function from script. 

Script conventions\-: create\-Function\-From\-Script(\char`\"{}f1\char`\"{}, 2, \char`\"{}a$\ast$x[0]$\ast$x[0] + b$\ast$x[1]\char`\"{}, \char`\"{}a,b\char`\"{},\char`\"{}this is my function\char`\"{}, \char`\"{}x[0]$\ast$x[0],x[1]\char`\"{}) 
\begin{DoxyParams}{Parameters}
{\em path} & The path of the \doxyref{I\-Function}{p.}{classAIDA_1_1IFunction}. The path can either be a relative or full path. (\char`\"{}/folder1/folder2/function\-Name\char`\"{} and \char`\"{}../folder/function\-Name\char`\"{} are valid paths). All the directories in the path must exist. The characther {\ttfamily /} cannot be used in names; it is only used to delimit directories within paths. \\
\hline
{\em dim} & The dimension of the function, i.\-e. the number of variables. \\
\hline
{\em valexpr} & The expression of the scripted function. \\
\hline
{\em parameters} & A comma separeted list of what has to be considered as a parameter in the valexpr expression. \\
\hline
{\em description} & The description of the function. \\
\hline
{\em gradexpr} & A comma separated list of the expressions for the derivatives of the function with respect to the parameters. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The newly created function provided expressions is illigal. 
\end{DoxyReturn}


The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
I\-Function\-Factory\-R\-O\-O\-T.\-h\item 
I\-Function\-Factory\-R\-O\-O\-T.\-cc\end{DoxyCompactItemize}
