<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">\section{A\-I\-D\-A\-:\-:I\-Model\-Function Interface Reference}
\label{classAIDA_1_1IModelFunction}\index{A\-I\-D\-A\-::\-I\-Model\-Function@{A\-I\-D\-A\-::\-I\-Model\-Function}}


Interface of model function for fitting (for advanced users).  




{\ttfamily \#include $&lt;$I\-Model\-Function.\-h$&gt;$}

Inheritance diagram for A\-I\-D\-A\-:\-:I\-Model\-Function\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.000000cm]{classAIDA_1_1IModelFunction}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual {\bf $\sim$\-I\-Model\-Function} ()\label{classAIDA_1_1IModelFunction_add24ff85f4a24df601547b8c99ec113c}

\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
virtual bool {\bf provides\-Normalization} () const =0\label{classAIDA_1_1IModelFunction_a842fe0308c93005027f63ab8b9789962}

\begin{DoxyCompactList}\small\item\em Return false if function does not provide the normalization capability. \end{DoxyCompactList}\item 
virtual void {\bf normalize} (bool on)=0
\begin{DoxyCompactList}\small\item\em Normalize by internally adjusting some of the parameters. \end{DoxyCompactList}\item 
virtual bool {\bf is\-Normalized} () const =0\label{classAIDA_1_1IModelFunction_abe90da61a15b9544a113bfd05b42702f}

\begin{DoxyCompactList}\small\item\em Return true if normalization is currently switched on. \end{DoxyCompactList}\item 
virtual const std\-::vector\\*
$&lt;$ double $&gt;$ \&amp; {\bf parameter\-Gradient} (const std\-::vector$&lt;$ double $&gt;$ \&amp;x) const =0\label{classAIDA_1_1IModelFunction_a2679515f8b055b0d01a5143f0ee1ffa8}

\begin{DoxyCompactList}\small\item\em Compute gradient with respect to parameters. \end{DoxyCompactList}\item 
virtual bool {\bf provides\-Parameter\-Gradient} () const =0\label{classAIDA_1_1IModelFunction_aff2963abcda53029b6a46dd80d93e0e0}

\begin{DoxyCompactList}\small\item\em Return true if provides parameter gradient. \end{DoxyCompactList}\item 
virtual {\bf I\-Range\-Set} \&amp; {\bf normalization\-Range} (int i\-Axis)=0
\begin{DoxyCompactList}\small\item\em Set the normalization range from -\/inf to +inf in the i-\/th axis (dimension). \end{DoxyCompactList}\item 
virtual void {\bf include\-Normalization\-All} ()=0\label{classAIDA_1_1IModelFunction_aea7fa7cf24848280ca6f4f7bba459804}

\begin{DoxyCompactList}\small\item\em Set full range in all axes. \end{DoxyCompactList}\item 
virtual void {\bf exclude\-Normalization\-All} ()=0\label{classAIDA_1_1IModelFunction_ae49b9b440276b95c901343b168da42d8}

\begin{DoxyCompactList}\small\item\em Set empty range in all axes. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Interface of model function for fitting (for advanced users). 

O\-P\-E\-N Q\-U\-E\-S\-T\-I\-O\-N\-S\-:

How to treat normalization at user level? Two possibilities\-:
\begin{DoxyItemize}
\item we have \char`\"{}\-Gauss\char`\"{} and \char`\"{}\-Normalized\-Gauss\char`\"{}, the first one user cannot use for M\-L fit
\item we have only one \char`\"{}\-Gauss\char`\"{} function, but it's smart and when normalized, gets rid of one of its parameters
\end{DoxyItemize}

Normalization range might be set directly on the function by the user? Now we set it in the data pipe, Victor thinks that it is not very clear and should be on the function ;)

\begin{DoxyAuthor}{Author}
The \doxyref{A\-I\-D\-A}{p.}{namespaceAIDA} team ({\tt http\-://aida.\-freehep.\-org/})
\end{DoxyAuthor}
O\-P\-E\-N Q\-U\-E\-S\-T\-I\-O\-N\-S\-:

How to treat normalization at user level? Two possibilities\-:
\begin{DoxyItemize}
\item we have \char`\"{}\-Gauss\char`\"{} and \char`\"{}\-Normalized\-Gauss\char`\"{}, the first one user cannot use for M\-L fit
\item we have only one \char`\"{}\-Gauss\char`\"{} function, but it's smart and when normalized, gets rid of one of its parameters
\end{DoxyItemize}

Normalization range might be set directly on the function by the user? Now we set it in the data pipe, Victor thinks that it is not very clear and should be on the function ;)

\begin{DoxyAuthor}{Author}
T. Kraemer, D\-E\-S\-Y 
\end{DoxyAuthor}
\begin{DoxyVersion}{Version}

\end{DoxyVersion}
\begin{DoxyParagraph}{Id\-:}
\doxyref{I\-Model\-Function\-R\-O\-O\-T.\-h}{p.}{IModelFunctionROOT_8h_source},v 1.\-2 2007-\/01-\/02 16\-:20\-:45 tkraemer Exp 
\end{DoxyParagraph}


\subsection{Member Function Documentation}
\index{A\-I\-D\-A\-::\-I\-Model\-Function@{A\-I\-D\-A\-::\-I\-Model\-Function}!normalization\-Range@{normalization\-Range}}
\index{normalization\-Range@{normalization\-Range}!AIDA::IModelFunction@{A\-I\-D\-A\-::\-I\-Model\-Function}}
\subsubsection[{normalization\-Range}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf I\-Range\-Set}\&amp; A\-I\-D\-A\-::\-I\-Model\-Function\-::normalization\-Range (
\begin{DoxyParamCaption}
\item[{int}]{i\-Axis}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classAIDA_1_1IModelFunction_a73284e65a203824dd676c409f4da9128}


Set the normalization range from -\/inf to +inf in the i-\/th axis (dimension). 

Full range is the default if not set otherwise. It is still possible to evaluate function outside of the normalization range.

P\-E\-N\-D\-I\-N\-G\-: no methods to retrieve current range! 

Implemented in {\bf A\-I\-D\-A\-::\-I\-Model\-Function\-R\-O\-O\-T} \doxyref{}{p.}{classAIDA_1_1IModelFunctionROOT_a5867365217394376f6c9f471bc18cf96}.

\index{A\-I\-D\-A\-::\-I\-Model\-Function@{A\-I\-D\-A\-::\-I\-Model\-Function}!normalize@{normalize}}
\index{normalize@{normalize}!AIDA::IModelFunction@{A\-I\-D\-A\-::\-I\-Model\-Function}}
\subsubsection[{normalize}]{\setlength{\rightskip}{0pt plus 5cm}virtual void A\-I\-D\-A\-::\-I\-Model\-Function\-::normalize (
\begin{DoxyParamCaption}
\item[{bool}]{on}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classAIDA_1_1IModelFunction_aa8d2f32c315a943744e23941adeb1fb6}


Normalize by internally adjusting some of the parameters. 

When normalization is on then integral of the function in the normalization range equals to 1. 

Implemented in {\bf A\-I\-D\-A\-::\-I\-Model\-Function\-R\-O\-O\-T} \doxyref{}{p.}{classAIDA_1_1IModelFunctionROOT_a2d93f0990ef5e34f96a937717560ca71}.



The documentation for this interface was generated from the following file\-:\begin{DoxyCompactItemize}
\item 
I\-Model\-Function.\-h\end{DoxyCompactItemize}
</pre></body></html>