Sophie

Sophie

distrib > Fedora > 13 > i386 > by-pkgid > eebc325dc36bd6e3b09b9b45133e42f8 > files > 2925

HippoDraw-devel-docs-1.21.1-10.fc13.i686.rpm

<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>HippoDraw Class Library</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
<link rel="shortcut icon" href="hippoApp.ico">
</head><body>
<!-- Generated by Doxygen 1.6.2 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespacehippodraw.html">hippodraw</a>::<a class="el" href="classhippodraw_1_1FunctionBase.html">FunctionBase</a>
  </div>
</div>
<div class="contents">
<h1>FunctionBase Class Reference</h1><!-- doxytag: class="hippodraw::FunctionBase" -->
<p>A function that can be added to a <a class="el" href="classhippodraw_1_1DataRep.html" title="The base class for data representations.">DataRep</a> and used in a fitter.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="FunctionBase_8h_source.html">FunctionBase.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for FunctionBase:</div>
<div class="dynsection">
<div class="center"><img src="classhippodraw_1_1FunctionBase__inherit__graph.gif" border="0" usemap="#FunctionBase_inherit__map" alt="Inheritance graph"/></div>
<map name="FunctionBase_inherit__map" id="FunctionBase_inherit__map">
<area shape="rect" id="node3" href="classhippodraw_1_1BrokenPowerLaw.html" title="A function can be used with a fitter." alt="" coords="164,5,287,35"/><area shape="rect" id="node5" href="classhippodraw_1_1Chi2Dist.html" title="A function can be used with a fitter." alt="" coords="189,59,261,88"/><area shape="rect" id="node7" href="classhippodraw_1_1ConstantF.html" title="A ConstantF function can be used with a fitter." alt="" coords="184,112,267,141"/><area shape="rect" id="node9" href="classhippodraw_1_1Erfc.html" title="A function that can be used with a fitter." alt="" coords="203,165,248,195"/><area shape="rect" id="node11" href="classhippodraw_1_1Exponential.html" title="A function can be used with a fitter." alt="" coords="180,219,271,248"/><area shape="rect" id="node13" href="classhippodraw_1_1FunctionWrap.html" title="A wrapper class for FunctionBase." alt="" coords="175,272,276,301"/><area shape="rect" id="node15" href="classhippodraw_1_1Gaussian.html" title="A function that can be used with a fitter." alt="" coords="187,325,264,355"/><area shape="rect" id="node17" href="classhippodraw_1_1Landau.html" title="The function represents the Landau distribution." alt="" coords="193,379,257,408"/><area shape="rect" id="node19" href="classhippodraw_1_1Linear.html" title="A function can be used with a fitter." alt="" coords="197,432,253,461"/><area shape="rect" id="node21" href="classhippodraw_1_1LinearSumFunction.html" title="A function that can be used with a fitter." alt="" coords="159,485,292,515"/><area shape="rect" id="node23" href="classhippodraw_1_1LogNormal.html" title="A function that can be used with a fitter." alt="" coords="183,539,268,568"/><area shape="rect" id="node25" href="classhippodraw_1_1LogParabola.html" title="A function that can be used with a fitter." alt="" coords="179,592,272,621"/><area shape="rect" id="node27" href="classhippodraw_1_1Novosibirsk.html" title="A function that can be used with a fitter." alt="" coords="180,645,271,675"/><area shape="rect" id="node29" href="classhippodraw_1_1PowerLaw.html" title="A function can be used with a fitter." alt="" coords="184,699,267,728"/><area shape="rect" id="node31" href="classhippodraw_1_1Quadratic.html" title="A function that can be used with a fitter." alt="" coords="187,752,264,781"/><area shape="rect" id="node33" href="classhippodraw_1_1Quadratic2.html" title="This function represents a quadratic, i.e., ." alt="" coords="183,805,268,835"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for FunctionBase:</div>
<div class="dynsection">
<div class="center"><img src="classhippodraw_1_1FunctionBase__coll__graph.gif" border="0" usemap="#FunctionBase_coll__map" alt="Collaboration graph"/></div>
<map name="FunctionBase_coll__map" id="FunctionBase_coll__map">
<area shape="rect" id="node2" title="STL class." alt="" coords="335,101,388,131"/><area shape="rect" id="node4" title="STL class." alt="" coords="291,5,432,35"/><area shape="rect" id="node9" title="STL class." alt="" coords="128,101,219,131"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classhippodraw_1_1FunctionBase-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1FunctionBase.html#aff0ce151e66257591a964e347d330b1a">addToComposite</a> (<a class="el" href="classhippodraw_1_1FunctionBase.html">FunctionBase</a> *)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Does nothing.  <a href="#aff0ce151e66257591a964e347d330b1a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classhippodraw_1_1FunctionBase.html">FunctionBase</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1FunctionBase.html#a5e4b003c4faa8b7729e762445c7578d8">clone</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new function object by copying an existing one.  <a href="#a5e4b003c4faa8b7729e762445c7578d8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1FunctionBase.html#a9ba94da7db769b98d02381d872dd9bbb">count</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns 0.  <a href="#a9ba94da7db769b98d02381d872dd9bbb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1FunctionBase.html#a8617a1aa7536e4cb61f2a4ec29a39f36">derivByParm</a> (int i, double x) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the function's derivative at the coordinate value <code>x</code> with respect to the <code>i-th</code> parameter.  <a href="#a8617a1aa7536e4cb61f2a4ec29a39f36"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1FunctionBase.html#a859ce4162e4a8aa28e4599d6c247038d">dimensions</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the number of dimensions of the data coordinate.  <a href="#a859ce4162e4a8aa28e4599d6c247038d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const std::vector<br class="typebreak"/>
&lt; double &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1FunctionBase.html#ab6d95a533aca7f862becee6eca151a68">getParameters</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the values of the parameters as a vector.  <a href="#ab6d95a533aca7f862becee6eca151a68"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1FunctionBase.html#a014f51d18e05dbf02fc11ea7245a03f8">hasDerivatives</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns <code>true</code> if function can calculate its partial derivatives.  <a href="#a014f51d18e05dbf02fc11ea7245a03f8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1FunctionBase.html#ac89ece7f0010b352e8d897f0a352f811">initialParameters</a> (const <a class="el" href="classhippodraw_1_1FunctionHelper.html">FunctionHelper</a> *helper)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the <a class="el" href="classhippodraw_1_1FunctionHelper.html" title="An abstract base class to help FunctionBase objects perform some operations.">FunctionHelper</a> so that the function can calculate a reasonable set of initial parameter values.  <a href="#ac89ece7f0010b352e8d897f0a352f811"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1FunctionBase.html#abb154a0d5f8e4bb6725fb273a17ea766">integrate</a> (double lower_limit, double upper_limit) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the integral of the function from the lower limit to the higher limit.  <a href="#abb154a0d5f8e4bb6725fb273a17ea766"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1FunctionBase.html#af5ca0e3b3f772eb5785976bf9f8975c9">isComposite</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns <code>false</code>.  <a href="#af5ca0e3b3f772eb5785976bf9f8975c9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const std::string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1FunctionBase.html#a11c23a386abb9eb8a42f0c2c2835d640">name</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the name of the function.  <a href="#a11c23a386abb9eb8a42f0c2c2835d640"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1FunctionBase.html#a4de2838a89d7e8f10d0242401f5a7e33">operator()</a> (const std::vector&lt; double &gt; &amp;v) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The function call operator for multi-dimension coordinate variable.  <a href="#a4de2838a89d7e8f10d0242401f5a7e33"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1FunctionBase.html#a3a71b677f013fdbc07bdf5dd65ee5f27">operator()</a> (double x) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The function call operator.  <a href="#a3a71b677f013fdbc07bdf5dd65ee5f27"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const std::vector<br class="typebreak"/>
&lt; std::string &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1FunctionBase.html#a5cd61d6494588c53f64ea1b4497a58e8">parmNames</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a reference to a vector of parameter names.  <a href="#a5cd61d6494588c53f64ea1b4497a58e8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1FunctionBase.html#a6b7a91fdf914a37fc34b8996e862528d">removeFromComposite</a> (<a class="el" href="classhippodraw_1_1FunctionBase.html">FunctionBase</a> *)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Does nothing.  <a href="#a6b7a91fdf914a37fc34b8996e862528d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual std::vector&lt; double &gt;<br class="typebreak"/>
::const_iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1FunctionBase.html#a893adb244f76732ad5c1c46066ae1463">setParameters</a> (std::vector&lt; double &gt;::const_iterator it)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the parameter values to the value pointed to by the iterator.  <a href="#a893adb244f76732ad5c1c46066ae1463"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1FunctionBase.html#aec721242269c5b893d79e271e85c3f79">setParameters</a> (const std::vector&lt; double &gt; &amp;incr)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the parameter values.  <a href="#aec721242269c5b893d79e271e85c3f79"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1FunctionBase.html#aeb533a9c185a44ea914278078359866f">setParmNames</a> (const std::vector&lt; std::string &gt; &amp;names)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the names of the parameters.  <a href="#aeb533a9c185a44ea914278078359866f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1FunctionBase.html#ab8e4e3e2a7bf18888b71bdf9dda0770b">size</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the number of parameters.  <a href="#ab8e4e3e2a7bf18888b71bdf9dda0770b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1FunctionBase.html#a5dde3933c23f3e8fc877816b4a1f11eb">~FunctionBase</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The virtual destructor.  <a href="#a5dde3933c23f3e8fc877816b4a1f11eb"></a><br/></td></tr>
<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1FunctionBase.html#ae8cd1de8326ff39fe568fecb8f6f0627">FunctionBase</a> (const <a class="el" href="classhippodraw_1_1FunctionBase.html">FunctionBase</a> &amp;)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The copy constructor.  <a href="#ae8cd1de8326ff39fe568fecb8f6f0627"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1FunctionBase.html#a4c1551ebabc3d6eea597ad4c944df9bc">FunctionBase</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The default constructor.  <a href="#a4c1551ebabc3d6eea597ad4c944df9bc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1FunctionBase.html#a25a40b6614565f755233080a384c35f1">initialize</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializes the function and parameter names.  <a href="#a25a40b6614565f755233080a384c35f1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1FunctionBase.html#a0fc3d585aa53859602ac79c9c421f2a9">resize</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Re-sizes the appropriate vectors maintained in this base class.  <a href="#a0fc3d585aa53859602ac79c9c421f2a9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1FunctionBase.html#ad79b3edf375d6aa09288510a4e024a64">setName</a> (const char *)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the name of the function.  <a href="#ad79b3edf375d6aa09288510a4e024a64"></a><br/></td></tr>
<tr><td colspan="2"><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1FunctionBase.html#adb41893ba19e889e56c559f25fc1a68a">m_name</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The name of the function.  <a href="#adb41893ba19e889e56c559f25fc1a68a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::vector&lt; std::string &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1FunctionBase.html#a96bf64e362e48f2ad4ecd76c32e4bc54">m_parm_names</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The names of the function parameters.  <a href="#a96bf64e362e48f2ad4ecd76c32e4bc54"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::vector&lt; double &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1FunctionBase.html#aa892dcf9755ccd651b666f353b723c34">m_parms</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The parameter values.  <a href="#aa892dcf9755ccd651b666f353b723c34"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>A function that can be added to a <a class="el" href="classhippodraw_1_1DataRep.html" title="The base class for data representations.">DataRep</a> and used in a fitter. </p>
<p>This is the base class for functions that can be added to a DataRep and used by a fitter. The initial value of the functions parameters can be set by a call to the <a class="el" href="classhippodraw_1_1FunctionBase.html#ac89ece7f0010b352e8d897f0a352f811" title="Sets the FunctionHelper so that the function can calculate a reasonable set of initial...">initialParameters()</a> member function. This function takes as argument a <a class="el" href="classhippodraw_1_1FunctionHelper.html" title="An abstract base class to help FunctionBase objects perform some operations.">FunctionHelper</a> which maybe connected to the data set. The function can make calls to the FunctionHelper to get some summaries from the data set and make an estimate of parameter values so that the function will at least appear on the DataRep if not come close to fitting it. This function must be implemented in a derived class.</p>
<p>The value of the function at a given value of the one dimensional coordinate <code>x</code>, or multi-dimensional coordinates as vector of doubles is obtained by a call to the overloaded member function <a class="el" href="classhippodraw_1_1FunctionBase.html#a3a71b677f013fdbc07bdf5dd65ee5f27" title="The function call operator.">operator()()</a>. This function must be implemented in a derived class.</p>
<p>To support a user interface, the name of the function may be obtained by a call to the <a class="el" href="classhippodraw_1_1FunctionBase.html#a11c23a386abb9eb8a42f0c2c2835d640" title="Returns the name of the function.">name()</a> member function and the name of the function's parameters from the <a class="el" href="classhippodraw_1_1FunctionBase.html#a5cd61d6494588c53f64ea1b4497a58e8" title="Returns a reference to a vector of parameter names.">parmNames()</a> member function. The values of the function's parameters can be obtained by a call to the <a class="el" href="classhippodraw_1_1FunctionBase.html#ab6d95a533aca7f862becee6eca151a68" title="Returns the values of the parameters as a vector.">getParameters()</a> member function. The number of parameters can be obtained by the size member function.</p>
<p>Internally, setting and receiving the parameters described above is done by the functions that take an iterator as an argument. The iterator skips over fixed parameters in both setting and receiving functions. This architecture is used to support the derived class <a class="el" href="classhippodraw_1_1LinearSumFunction.html" title="A function that can be used with a fitter.">LinearSumFunction</a>.</p>
<p>Derived classes need to implement a few pure virtual functions defined by this class.</p>
<ul>
<li><a class="el" href="classhippodraw_1_1FunctionBase.html#a25a40b6614565f755233080a384c35f1" title="Initializes the function and parameter names.">initialize()</a> Set the name of the function and initialize the vector of parameter names. The size of other vectors can then be set by calling the <a class="el" href="classhippodraw_1_1FunctionBase.html#a0fc3d585aa53859602ac79c9c421f2a9" title="Re-sizes the appropriate vectors maintained in this base class.">resize()</a> member function.</li>
</ul>
<ul>
<li><a class="el" href="classhippodraw_1_1FunctionBase.html#ac89ece7f0010b352e8d897f0a352f811" title="Sets the FunctionHelper so that the function can calculate a reasonable set of initial...">initialParameters()</a> Initializes the parameters. A call to this function is optional, but there must be an implementation.</li>
</ul>
<ul>
<li><a class="el" href="classhippodraw_1_1FunctionBase.html#a3a71b677f013fdbc07bdf5dd65ee5f27" title="The function call operator.">operator()()</a> Returns the function's value a given x for the current value of the parameters.</li>
</ul>
<ul>
<li><a class="el" href="classhippodraw_1_1FunctionBase.html#a5e4b003c4faa8b7729e762445c7578d8" title="Creates a new function object by copying an existing one.">clone()</a> Supports putting function prototypes in a <a class="el" href="classhippodraw_1_1FunctionFactory.html" title="A Factory singleton class for creating objects whose class derives from FunctionBase...">FunctionFactory</a>.</li>
</ul>
<ul>
<li><a class="el" href="classhippodraw_1_1FunctionBase.html#a8617a1aa7536e4cb61f2a4ec29a39f36" title="Returns the function&#39;s derivative at the coordinate value x with respect to the...">derivByParm()</a> Returns the derivative with respect to a parameter.</li>
</ul>
<p>Once there conditions are satisfied, the class maybe added to the <a class="el" href="classhippodraw_1_1FunctionFactory.html" title="A Factory singleton class for creating objects whose class derives from FunctionBase...">FunctionFactory</a> for use in applications.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>This class does not have any dependence on any other part of the <b>HippoDraw</b> class library. If the function classes are useful for other applications or class library builders, it could be split off as a separate package. Please let the author know if you would like to use this class outside the context of <b>HippoDraw</b>.</dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Paul F. Kunz &lt;<a href="mailto:Paul_Kunz@slac.stanford.edu">Paul_Kunz@slac.stanford.edu</a>&gt; </dd></dl>

<p>Definition at line <a class="el" href="FunctionBase_8h_source.html#l00090">90</a> of file <a class="el" href="FunctionBase_8h_source.html">FunctionBase.h</a>.</p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a4c1551ebabc3d6eea597ad4c944df9bc"></a><!-- doxytag: member="hippodraw::FunctionBase::FunctionBase" ref="a4c1551ebabc3d6eea597ad4c944df9bc" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhippodraw_1_1FunctionBase.html">FunctionBase</a> </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The default constructor. </p>
<p>Should never be called.</p>
<p>. Sets the function name to "nil". Should be overriden by derived class. If function name is "nil", then that indicated error condition that default constructor was called directly. </p>

<p>Definition at line <a class="el" href="FunctionBase_8cxx_source.html#l00030">30</a> of file <a class="el" href="FunctionBase_8cxx_source.html">FunctionBase.cxx</a>.</p>

<p>References <a class="el" href="FunctionBase_8h_source.html#l00103">FunctionBase::m_name</a>.</p>

</div>
</div>
<a class="anchor" id="ae8cd1de8326ff39fe568fecb8f6f0627"></a><!-- doxytag: member="hippodraw::FunctionBase::FunctionBase" ref="ae8cd1de8326ff39fe568fecb8f6f0627" args="(const FunctionBase &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhippodraw_1_1FunctionBase.html">FunctionBase</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhippodraw_1_1FunctionBase.html">FunctionBase</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>fb</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The copy constructor. </p>
<dl class="requests"><dt><b><a class="el" href="requests.html#_requests000017">Requests:</a></b></dt><dd>Remove this copy constructor, it was only tempoary to try to fix cloning functions written in <a class="el" href="namespacehippodraw_1_1Python.html" title="A namespace encapsulating functions to interface HippoDraw classes to Python using...">Python</a> with SIP. </dd></dl>

<p>Definition at line <a class="el" href="FunctionBase_8cxx_source.html#l00039">39</a> of file <a class="el" href="FunctionBase_8cxx_source.html">FunctionBase.cxx</a>.</p>

</div>
</div>
<a class="anchor" id="a5dde3933c23f3e8fc877816b4a1f11eb"></a><!-- doxytag: member="hippodraw::FunctionBase::~FunctionBase" ref="a5dde3933c23f3e8fc877816b4a1f11eb" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">~<a class="el" href="classhippodraw_1_1FunctionBase.html">FunctionBase</a> </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The virtual destructor. </p>

<p>Definition at line <a class="el" href="FunctionBase_8cxx_source.html#l00046">46</a> of file <a class="el" href="FunctionBase_8cxx_source.html">FunctionBase.cxx</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="aff0ce151e66257591a964e347d330b1a"></a><!-- doxytag: member="hippodraw::FunctionBase::addToComposite" ref="aff0ce151e66257591a964e347d330b1a" args="(FunctionBase *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void addToComposite </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classhippodraw_1_1FunctionBase.html">FunctionBase</a> *&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Does nothing. </p>
<p>Derived classes that are a composite of functions should override this member function and add functions to the composite. </p>

<p>Reimplemented in <a class="el" href="classhippodraw_1_1LinearSumFunction.html#aff0ce151e66257591a964e347d330b1a">LinearSumFunction</a>.</p>

<p>Definition at line <a class="el" href="FunctionBase_8cxx_source.html#l00166">166</a> of file <a class="el" href="FunctionBase_8cxx_source.html">FunctionBase.cxx</a>.</p>

</div>
</div>
<a class="anchor" id="a5e4b003c4faa8b7729e762445c7578d8"></a><!-- doxytag: member="hippodraw::FunctionBase::clone" ref="a5e4b003c4faa8b7729e762445c7578d8" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhippodraw_1_1FunctionBase.html">FunctionBase</a> * clone </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a new function object by copying an existing one. </p>
<p>The implementation raises an assertion as this member function should be reimplemented in s derived class.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>There's an implementation here to satisfy the SIP interface. </dd></dl>

<p>Reimplemented in <a class="el" href="classhippodraw_1_1BrokenPowerLaw.html#a5e4b003c4faa8b7729e762445c7578d8">BrokenPowerLaw</a>, <a class="el" href="classhippodraw_1_1Chi2Dist.html#a5e4b003c4faa8b7729e762445c7578d8">Chi2Dist</a>, <a class="el" href="classhippodraw_1_1ConstantF.html#a5e4b003c4faa8b7729e762445c7578d8">ConstantF</a>, <a class="el" href="classhippodraw_1_1Erfc.html#a5e4b003c4faa8b7729e762445c7578d8">Erfc</a>, <a class="el" href="classhippodraw_1_1Exponential.html#a5e4b003c4faa8b7729e762445c7578d8">Exponential</a>, <a class="el" href="classhippodraw_1_1Gaussian.html#a5e4b003c4faa8b7729e762445c7578d8">Gaussian</a>, <a class="el" href="classhippodraw_1_1Landau.html#a5e4b003c4faa8b7729e762445c7578d8">Landau</a>, <a class="el" href="classhippodraw_1_1Linear.html#a5e4b003c4faa8b7729e762445c7578d8">Linear</a>, <a class="el" href="classhippodraw_1_1LinearSumFunction.html#a5e4b003c4faa8b7729e762445c7578d8">LinearSumFunction</a>, <a class="el" href="classhippodraw_1_1LogNormal.html#a5e4b003c4faa8b7729e762445c7578d8">LogNormal</a>, <a class="el" href="classhippodraw_1_1LogParabola.html#a5e4b003c4faa8b7729e762445c7578d8">LogParabola</a>, <a class="el" href="classhippodraw_1_1Novosibirsk.html#a5e4b003c4faa8b7729e762445c7578d8">Novosibirsk</a>, <a class="el" href="classhippodraw_1_1PowerLaw.html#a5e4b003c4faa8b7729e762445c7578d8">PowerLaw</a>, <a class="el" href="classhippodraw_1_1Quadratic.html#a5e4b003c4faa8b7729e762445c7578d8">Quadratic</a>, <a class="el" href="classhippodraw_1_1Quadratic2.html#a5e4b003c4faa8b7729e762445c7578d8">Quadratic2</a>, and <a class="el" href="classhippodraw_1_1FunctionWrap.html#a5e4b003c4faa8b7729e762445c7578d8">FunctionWrap</a>.</p>

<p>Definition at line <a class="el" href="FunctionBase_8cxx_source.html#l00052">52</a> of file <a class="el" href="FunctionBase_8cxx_source.html">FunctionBase.cxx</a>.</p>

</div>
</div>
<a class="anchor" id="a9ba94da7db769b98d02381d872dd9bbb"></a><!-- doxytag: member="hippodraw::FunctionBase::count" ref="a9ba94da7db769b98d02381d872dd9bbb" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int count </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns 0. </p>
<p>Derived classes that are a composite of functions should override this member function to return the number of functions in the composite. </p>

<p>Reimplemented in <a class="el" href="classhippodraw_1_1LinearSumFunction.html#a9ba94da7db769b98d02381d872dd9bbb">LinearSumFunction</a>.</p>

<p>Definition at line <a class="el" href="FunctionBase_8cxx_source.html#l00174">174</a> of file <a class="el" href="FunctionBase_8cxx_source.html">FunctionBase.cxx</a>.</p>

</div>
</div>
<a class="anchor" id="a8617a1aa7536e4cb61f2a4ec29a39f36"></a><!-- doxytag: member="hippodraw::FunctionBase::derivByParm" ref="a8617a1aa7536e4cb61f2a4ec29a39f36" args="(int i, double x) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double derivByParm </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>x</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the function's derivative at the coordinate value <code>x</code> with respect to the <code>i-th</code> parameter. </p>
<p>Derived classes must implement this function.</p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000045">Todo:</a></b></dt><dd>Provide a numeric method for doing this calculation that will be the default. Derived classes should provide more efficient analytic method if available.</dd></dl>
<dl class="bug"><dt><b><a class="el" href="bug.html#_bug000030">Bug:</a></b></dt><dd>Make this function pure when problem compiling python/FunctionWrap under Windows is solved. </dd></dl>

<p>Reimplemented in <a class="el" href="classhippodraw_1_1BrokenPowerLaw.html#a8617a1aa7536e4cb61f2a4ec29a39f36">BrokenPowerLaw</a>, <a class="el" href="classhippodraw_1_1Chi2Dist.html#a8617a1aa7536e4cb61f2a4ec29a39f36">Chi2Dist</a>, <a class="el" href="classhippodraw_1_1ConstantF.html#a8617a1aa7536e4cb61f2a4ec29a39f36">ConstantF</a>, <a class="el" href="classhippodraw_1_1Erfc.html#a8617a1aa7536e4cb61f2a4ec29a39f36">Erfc</a>, <a class="el" href="classhippodraw_1_1Exponential.html#a8617a1aa7536e4cb61f2a4ec29a39f36">Exponential</a>, <a class="el" href="classhippodraw_1_1Gaussian.html#a8617a1aa7536e4cb61f2a4ec29a39f36">Gaussian</a>, <a class="el" href="classhippodraw_1_1Landau.html#a8617a1aa7536e4cb61f2a4ec29a39f36">Landau</a>, <a class="el" href="classhippodraw_1_1Linear.html#a8617a1aa7536e4cb61f2a4ec29a39f36">Linear</a>, <a class="el" href="classhippodraw_1_1LinearSumFunction.html#a8617a1aa7536e4cb61f2a4ec29a39f36">LinearSumFunction</a>, <a class="el" href="classhippodraw_1_1LogNormal.html#a8617a1aa7536e4cb61f2a4ec29a39f36">LogNormal</a>, <a class="el" href="classhippodraw_1_1LogParabola.html#a8617a1aa7536e4cb61f2a4ec29a39f36">LogParabola</a>, <a class="el" href="classhippodraw_1_1Novosibirsk.html#a8617a1aa7536e4cb61f2a4ec29a39f36">Novosibirsk</a>, <a class="el" href="classhippodraw_1_1PowerLaw.html#a8617a1aa7536e4cb61f2a4ec29a39f36">PowerLaw</a>, <a class="el" href="classhippodraw_1_1Quadratic.html#a8617a1aa7536e4cb61f2a4ec29a39f36">Quadratic</a>, <a class="el" href="classhippodraw_1_1Quadratic2.html#a8617a1aa7536e4cb61f2a4ec29a39f36">Quadratic2</a>, and <a class="el" href="classhippodraw_1_1FunctionWrap.html#ae0c4b9ee0490fcc3e62658e4099c681f">FunctionWrap</a>.</p>

<p>Definition at line <a class="el" href="FunctionBase_8cxx_source.html#l00190">190</a> of file <a class="el" href="FunctionBase_8cxx_source.html">FunctionBase.cxx</a>.</p>

</div>
</div>
<a class="anchor" id="a859ce4162e4a8aa28e4599d6c247038d"></a><!-- doxytag: member="hippodraw::FunctionBase::dimensions" ref="a859ce4162e4a8aa28e4599d6c247038d" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int dimensions </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the number of dimensions of the data coordinate. </p>
<p>This implementation in the base class returns <code>1</code>. Derived class should override this function if the data coordinate is multi-dimensional. </p>

<p>Reimplemented in <a class="el" href="classhippodraw_1_1FunctionWrap.html#a859ce4162e4a8aa28e4599d6c247038d">FunctionWrap</a>.</p>

<p>Definition at line <a class="el" href="FunctionBase_8cxx_source.html#l00213">213</a> of file <a class="el" href="FunctionBase_8cxx_source.html">FunctionBase.cxx</a>.</p>

</div>
</div>
<a class="anchor" id="ab6d95a533aca7f862becee6eca151a68"></a><!-- doxytag: member="hippodraw::FunctionBase::getParameters" ref="ab6d95a533aca7f862becee6eca151a68" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const vector&lt; double &gt; &amp; getParameters </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the values of the parameters as a vector. </p>
<p>The function is non-const because a derived class may need to create the vector. </p>

<p>Reimplemented in <a class="el" href="classhippodraw_1_1LinearSumFunction.html#ab6d95a533aca7f862becee6eca151a68">LinearSumFunction</a>.</p>

<p>Definition at line <a class="el" href="FunctionBase_8cxx_source.html#l00099">99</a> of file <a class="el" href="FunctionBase_8cxx_source.html">FunctionBase.cxx</a>.</p>

<p>References <a class="el" href="FunctionBase_8h_source.html#l00109">FunctionBase::m_parms</a>.</p>

<p>Referenced by <a class="el" href="FunctionProjectorXML_8cxx_source.html#l00039">FunctionProjectorXML::createElement()</a>, <a class="el" href="FuncParmRep_8cxx_source.html#l00041">FuncParmRep::drawProjectedValues()</a>, <a class="el" href="FunctionWrap_8cxx_source.html#l00034">hippodraw::Python::export_FunctionBase()</a>, <a class="el" href="FunctionRep_8cxx_source.html#l00278">FunctionRep::parameters()</a>, <a class="el" href="FunctionProjector_8cxx_source.html#l00080">FunctionProjector::saveParameters()</a>, and <a class="el" href="FunctionProjector_8cxx_source.html#l00297">FunctionProjector::setParameters()</a>.</p>

</div>
</div>
<a class="anchor" id="a014f51d18e05dbf02fc11ea7245a03f8"></a><!-- doxytag: member="hippodraw::FunctionBase::hasDerivatives" ref="a014f51d18e05dbf02fc11ea7245a03f8" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool hasDerivatives </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns <code>true</code> if function can calculate its partial derivatives. </p>
<p>This base class implementation returns <code>true</code>. Derived class that can not calculate its partial derivatives should return <code>false</code>. This allows an application to not attempt to use a minimizer that requires derivatives to use this function. </p>

<p>Reimplemented in <a class="el" href="classhippodraw_1_1LogNormal.html#a014f51d18e05dbf02fc11ea7245a03f8">LogNormal</a>, <a class="el" href="classhippodraw_1_1LogParabola.html#a014f51d18e05dbf02fc11ea7245a03f8">LogParabola</a>, <a class="el" href="classhippodraw_1_1Novosibirsk.html#a014f51d18e05dbf02fc11ea7245a03f8">Novosibirsk</a>, and <a class="el" href="classhippodraw_1_1FunctionWrap.html#a014f51d18e05dbf02fc11ea7245a03f8">FunctionWrap</a>.</p>

<p>Definition at line <a class="el" href="FunctionBase_8cxx_source.html#l00126">126</a> of file <a class="el" href="FunctionBase_8cxx_source.html">FunctionBase.cxx</a>.</p>

</div>
</div>
<a class="anchor" id="a25a40b6614565f755233080a384c35f1"></a><!-- doxytag: member="hippodraw::FunctionBase::initialize" ref="a25a40b6614565f755233080a384c35f1" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void initialize </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Initializes the function and parameter names. </p>
<p>The derived classes should initialize their names and the vector of parameter names and then invoke the <a class="el" href="classhippodraw_1_1FunctionBase.html#a0fc3d585aa53859602ac79c9c421f2a9" title="Re-sizes the appropriate vectors maintained in this base class.">resize()</a> member function.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>Make this member pure when problem compiling python/FunctionWrap under Windows is solved. </dd></dl>

<p>Reimplemented in <a class="el" href="classhippodraw_1_1BrokenPowerLaw.html#a25a40b6614565f755233080a384c35f1">BrokenPowerLaw</a>, <a class="el" href="classhippodraw_1_1Chi2Dist.html#a25a40b6614565f755233080a384c35f1">Chi2Dist</a>, <a class="el" href="classhippodraw_1_1ConstantF.html#a25a40b6614565f755233080a384c35f1">ConstantF</a>, <a class="el" href="classhippodraw_1_1Erfc.html#a25a40b6614565f755233080a384c35f1">Erfc</a>, <a class="el" href="classhippodraw_1_1Exponential.html#a25a40b6614565f755233080a384c35f1">Exponential</a>, <a class="el" href="classhippodraw_1_1Gaussian.html#a25a40b6614565f755233080a384c35f1">Gaussian</a>, <a class="el" href="classhippodraw_1_1Landau.html#a25a40b6614565f755233080a384c35f1">Landau</a>, <a class="el" href="classhippodraw_1_1Linear.html#a25a40b6614565f755233080a384c35f1">Linear</a>, <a class="el" href="classhippodraw_1_1LinearSumFunction.html#a25a40b6614565f755233080a384c35f1">LinearSumFunction</a>, <a class="el" href="classhippodraw_1_1LogNormal.html#a25a40b6614565f755233080a384c35f1">LogNormal</a>, <a class="el" href="classhippodraw_1_1LogParabola.html#a25a40b6614565f755233080a384c35f1">LogParabola</a>, <a class="el" href="classhippodraw_1_1Novosibirsk.html#a25a40b6614565f755233080a384c35f1">Novosibirsk</a>, <a class="el" href="classhippodraw_1_1PowerLaw.html#a25a40b6614565f755233080a384c35f1">PowerLaw</a>, <a class="el" href="classhippodraw_1_1Quadratic.html#a25a40b6614565f755233080a384c35f1">Quadratic</a>, <a class="el" href="classhippodraw_1_1Quadratic2.html#a25a40b6614565f755233080a384c35f1">Quadratic2</a>, and <a class="el" href="classhippodraw_1_1FunctionWrap.html#a25a40b6614565f755233080a384c35f1">FunctionWrap</a>.</p>

<p>Definition at line <a class="el" href="FunctionBase_8cxx_source.html#l00198">198</a> of file <a class="el" href="FunctionBase_8cxx_source.html">FunctionBase.cxx</a>.</p>

</div>
</div>
<a class="anchor" id="ac89ece7f0010b352e8d897f0a352f811"></a><!-- doxytag: member="hippodraw::FunctionBase::initialParameters" ref="ac89ece7f0010b352e8d897f0a352f811" args="(const FunctionHelper *helper)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void initialParameters </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhippodraw_1_1FunctionHelper.html">FunctionHelper</a> *&nbsp;</td>
          <td class="paramname"> <em>helper</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the <a class="el" href="classhippodraw_1_1FunctionHelper.html" title="An abstract base class to help FunctionBase objects perform some operations.">FunctionHelper</a> so that the function can calculate a reasonable set of initial parameter values. </p>

<p>Reimplemented in <a class="el" href="classhippodraw_1_1BrokenPowerLaw.html#ac89ece7f0010b352e8d897f0a352f811">BrokenPowerLaw</a>, <a class="el" href="classhippodraw_1_1Chi2Dist.html#ac89ece7f0010b352e8d897f0a352f811">Chi2Dist</a>, <a class="el" href="classhippodraw_1_1ConstantF.html#ac89ece7f0010b352e8d897f0a352f811">ConstantF</a>, <a class="el" href="classhippodraw_1_1Erfc.html#ac89ece7f0010b352e8d897f0a352f811">Erfc</a>, <a class="el" href="classhippodraw_1_1Exponential.html#ac89ece7f0010b352e8d897f0a352f811">Exponential</a>, <a class="el" href="classhippodraw_1_1Gaussian.html#ac89ece7f0010b352e8d897f0a352f811">Gaussian</a>, <a class="el" href="classhippodraw_1_1Landau.html#ac89ece7f0010b352e8d897f0a352f811">Landau</a>, <a class="el" href="classhippodraw_1_1Linear.html#ac89ece7f0010b352e8d897f0a352f811">Linear</a>, <a class="el" href="classhippodraw_1_1LinearSumFunction.html#ac89ece7f0010b352e8d897f0a352f811">LinearSumFunction</a>, <a class="el" href="classhippodraw_1_1LogNormal.html#ac89ece7f0010b352e8d897f0a352f811">LogNormal</a>, <a class="el" href="classhippodraw_1_1LogParabola.html#ac89ece7f0010b352e8d897f0a352f811">LogParabola</a>, <a class="el" href="classhippodraw_1_1Novosibirsk.html#ac89ece7f0010b352e8d897f0a352f811">Novosibirsk</a>, <a class="el" href="classhippodraw_1_1PowerLaw.html#ac89ece7f0010b352e8d897f0a352f811">PowerLaw</a>, <a class="el" href="classhippodraw_1_1Quadratic.html#ac89ece7f0010b352e8d897f0a352f811">Quadratic</a>, <a class="el" href="classhippodraw_1_1Quadratic2.html#ac89ece7f0010b352e8d897f0a352f811">Quadratic2</a>, and <a class="el" href="classhippodraw_1_1FunctionWrap.html#a09b1fef6defaeff6178bb3739fdd800c">FunctionWrap</a>.</p>

<p>Definition at line <a class="el" href="FunctionBase_8cxx_source.html#l00060">60</a> of file <a class="el" href="FunctionBase_8cxx_source.html">FunctionBase.cxx</a>.</p>

<p>Referenced by <a class="el" href="FunctionProjector_8cxx_source.html#l00114">FunctionProjector::initializeFunction()</a>.</p>

</div>
</div>
<a class="anchor" id="abb154a0d5f8e4bb6725fb273a17ea766"></a><!-- doxytag: member="hippodraw::FunctionBase::integrate" ref="abb154a0d5f8e4bb6725fb273a17ea766" args="(double lower_limit, double upper_limit) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double integrate </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the integral of the function from the lower limit to the higher limit. </p>
<p>As of now all the integration is done here numerically using the trapezoidal rule. Derived class may implement an analytical expression in place of this numerical method.</p>
<dl class="requests"><dt><b><a class="el" href="requests.html#_requests000018">Requests:</a></b></dt><dd>Override this method in derived classes when calculation of integral can be done analyically.</dd></dl>
<dl class="requests"><dt><b><a class="el" href="requests.html#_requests000019">Requests:</a></b></dt><dd>Check if this is the best algorithm. Its looks different from the one found in <a href="http://osl.iu.edu/%7Etveldhui/papers/techniques/">http://osl.iu.edu/%7Etveldhui/papers/techniques/</a> </dd></dl>

<p>Definition at line <a class="el" href="FunctionBase_8cxx_source.html#l00138">138</a> of file <a class="el" href="FunctionBase_8cxx_source.html">FunctionBase.cxx</a>.</p>

<p>References <a class="el" href="FunctionBase_8cxx_source.html#l00205">FunctionBase::operator()()</a>.</p>

</div>
</div>
<a class="anchor" id="af5ca0e3b3f772eb5785976bf9f8975c9"></a><!-- doxytag: member="hippodraw::FunctionBase::isComposite" ref="af5ca0e3b3f772eb5785976bf9f8975c9" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool isComposite </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns <code>false</code>. </p>
<p>Derived classes that are a composite of functions should override this member function and return <code>true</code>. </p>

<p>Reimplemented in <a class="el" href="classhippodraw_1_1LinearSumFunction.html#af5ca0e3b3f772eb5785976bf9f8975c9">LinearSumFunction</a>.</p>

<p>Definition at line <a class="el" href="FunctionBase_8cxx_source.html#l00161">161</a> of file <a class="el" href="FunctionBase_8cxx_source.html">FunctionBase.cxx</a>.</p>

<p>Referenced by <a class="el" href="FunctionRep_8cxx_source.html#l00118">FunctionRep::isComposite()</a>, <a class="el" href="FunctionController_8cxx_source.html#l00606">FunctionController::restoreParameters()</a>, and <a class="el" href="FunctionController_8cxx_source.html#l00593">FunctionController::saveParameters()</a>.</p>

</div>
</div>
<a class="anchor" id="a11c23a386abb9eb8a42f0c2c2835d640"></a><!-- doxytag: member="hippodraw::FunctionBase::name" ref="a11c23a386abb9eb8a42f0c2c2835d640" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const string &amp; name </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the name of the function. </p>

<p>Definition at line <a class="el" href="FunctionBase_8cxx_source.html#l00081">81</a> of file <a class="el" href="FunctionBase_8cxx_source.html">FunctionBase.cxx</a>.</p>

<p>References <a class="el" href="FunctionBase_8h_source.html#l00103">FunctionBase::m_name</a>.</p>

<p>Referenced by <a class="el" href="FunctionProjectorXML_8cxx_source.html#l00039">FunctionProjectorXML::createElement()</a>, <a class="el" href="FunctionController_8cxx_source.html#l00797">FunctionController::createNTuple()</a>, <a class="el" href="FunctionWrap_8cxx_source.html#l00034">hippodraw::Python::export_FunctionBase()</a>, <a class="el" href="FunctionController_8cxx_source.html#l00427">FunctionController::functionNames()</a>, <a class="el" href="FunctionProjector_8cxx_source.html#l00147">FunctionProjector::getTitle()</a>, <a class="el" href="FunctionProjector_8cxx_source.html#l00164">FunctionProjector::getYLabel()</a>, and <a class="el" href="LinearSumFunction_8cxx_source.html#l00060">LinearSumFunction::parmNames()</a>.</p>

</div>
</div>
<a class="anchor" id="a4de2838a89d7e8f10d0242401f5a7e33"></a><!-- doxytag: member="hippodraw::FunctionBase::operator()" ref="a4de2838a89d7e8f10d0242401f5a7e33" args="(const std::vector&lt; double &gt; &amp;v) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double operator() </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; double &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The function call operator for multi-dimension coordinate variable. </p>
<p>Returns the value of the function at coordinate represented by <em>v</em>. The implementation in this base class uses the first element of the vector and calls operator () ( double ). </p>

<p>Reimplemented in <a class="el" href="classhippodraw_1_1FunctionWrap.html#a6d8d1c0bd26034ce989c063e748fe43e">FunctionWrap</a>.</p>

<p>Definition at line <a class="el" href="FunctionBase_8cxx_source.html#l00181">181</a> of file <a class="el" href="FunctionBase_8cxx_source.html">FunctionBase.cxx</a>.</p>

<p>References <a class="el" href="FunctionBase_8cxx_source.html#l00205">FunctionBase::operator()()</a>.</p>

</div>
</div>
<a class="anchor" id="a3a71b677f013fdbc07bdf5dd65ee5f27"></a><!-- doxytag: member="hippodraw::FunctionBase::operator()" ref="a3a71b677f013fdbc07bdf5dd65ee5f27" args="(double x) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double operator() </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>x</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The function call operator. </p>
<dl class="bug"><dt><b><a class="el" href="bug.html#_bug000031">Bug:</a></b></dt><dd>Make this member pure when problem compiling python/FunctionWrap is solved. </dd></dl>

<p>Reimplemented in <a class="el" href="classhippodraw_1_1BrokenPowerLaw.html#a3a71b677f013fdbc07bdf5dd65ee5f27">BrokenPowerLaw</a>, <a class="el" href="classhippodraw_1_1Chi2Dist.html#a3a71b677f013fdbc07bdf5dd65ee5f27">Chi2Dist</a>, <a class="el" href="classhippodraw_1_1ConstantF.html#a3a71b677f013fdbc07bdf5dd65ee5f27">ConstantF</a>, <a class="el" href="classhippodraw_1_1Erfc.html#a35b6d3300fa7025c7a1f54d1c7fe6013">Erfc</a>, <a class="el" href="classhippodraw_1_1Exponential.html#a3a71b677f013fdbc07bdf5dd65ee5f27">Exponential</a>, <a class="el" href="classhippodraw_1_1Gaussian.html#a3a71b677f013fdbc07bdf5dd65ee5f27">Gaussian</a>, <a class="el" href="classhippodraw_1_1Landau.html#a3a71b677f013fdbc07bdf5dd65ee5f27">Landau</a>, <a class="el" href="classhippodraw_1_1Linear.html#a3a71b677f013fdbc07bdf5dd65ee5f27">Linear</a>, <a class="el" href="classhippodraw_1_1LinearSumFunction.html#a3a71b677f013fdbc07bdf5dd65ee5f27">LinearSumFunction</a>, <a class="el" href="classhippodraw_1_1LogNormal.html#a3a71b677f013fdbc07bdf5dd65ee5f27">LogNormal</a>, <a class="el" href="classhippodraw_1_1LogParabola.html#a3a71b677f013fdbc07bdf5dd65ee5f27">LogParabola</a>, <a class="el" href="classhippodraw_1_1Novosibirsk.html#a3a71b677f013fdbc07bdf5dd65ee5f27">Novosibirsk</a>, <a class="el" href="classhippodraw_1_1PowerLaw.html#a3a71b677f013fdbc07bdf5dd65ee5f27">PowerLaw</a>, <a class="el" href="classhippodraw_1_1Quadratic.html#a3a71b677f013fdbc07bdf5dd65ee5f27">Quadratic</a>, <a class="el" href="classhippodraw_1_1Quadratic2.html#a3a71b677f013fdbc07bdf5dd65ee5f27">Quadratic2</a>, and <a class="el" href="classhippodraw_1_1FunctionWrap.html#a6a7b63cbfbcb62c3c0e2f5c22800db84">FunctionWrap</a>.</p>

<p>Definition at line <a class="el" href="FunctionBase_8cxx_source.html#l00205">205</a> of file <a class="el" href="FunctionBase_8cxx_source.html">FunctionBase.cxx</a>.</p>

<p>Referenced by <a class="el" href="FunctionBase_8cxx_source.html#l00138">FunctionBase::integrate()</a>, and <a class="el" href="FunctionBase_8cxx_source.html#l00181">FunctionBase::operator()()</a>.</p>

</div>
</div>
<a class="anchor" id="a5cd61d6494588c53f64ea1b4497a58e8"></a><!-- doxytag: member="hippodraw::FunctionBase::parmNames" ref="a5cd61d6494588c53f64ea1b4497a58e8" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const vector&lt; string &gt; &amp; parmNames </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a reference to a vector of parameter names. </p>

<p>Reimplemented in <a class="el" href="classhippodraw_1_1LinearSumFunction.html#a5cd61d6494588c53f64ea1b4497a58e8">LinearSumFunction</a>.</p>

<p>Definition at line <a class="el" href="FunctionBase_8cxx_source.html#l00086">86</a> of file <a class="el" href="FunctionBase_8cxx_source.html">FunctionBase.cxx</a>.</p>

<p>References <a class="el" href="FunctionBase_8h_source.html#l00106">FunctionBase::m_parm_names</a>.</p>

<p>Referenced by <a class="el" href="FuncParmRep_8cxx_source.html#l00041">FuncParmRep::drawProjectedValues()</a>, <a class="el" href="FunctionWrap_8cxx_source.html#l00034">hippodraw::Python::export_FunctionBase()</a>, and <a class="el" href="FunctionRep_8cxx_source.html#l00271">FunctionRep::parmNames()</a>.</p>

</div>
</div>
<a class="anchor" id="a6b7a91fdf914a37fc34b8996e862528d"></a><!-- doxytag: member="hippodraw::FunctionBase::removeFromComposite" ref="a6b7a91fdf914a37fc34b8996e862528d" args="(FunctionBase *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void removeFromComposite </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classhippodraw_1_1FunctionBase.html">FunctionBase</a> *&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Does nothing. </p>
<p>Derived classes that are a composite of functions should override this member function and remove functions from the composite. </p>

<p>Reimplemented in <a class="el" href="classhippodraw_1_1LinearSumFunction.html#a6b7a91fdf914a37fc34b8996e862528d">LinearSumFunction</a>.</p>

<p>Definition at line <a class="el" href="FunctionBase_8cxx_source.html#l00170">170</a> of file <a class="el" href="FunctionBase_8cxx_source.html">FunctionBase.cxx</a>.</p>

</div>
</div>
<a class="anchor" id="a0fc3d585aa53859602ac79c9c421f2a9"></a><!-- doxytag: member="hippodraw::FunctionBase::resize" ref="a0fc3d585aa53859602ac79c9c421f2a9" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void resize </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Re-sizes the appropriate vectors maintained in this base class. </p>
<p>Derived classes should call this member function <b>after</b> initializing the m_parm_names data member, as the new size is taken from that data member's size. </p>

<p>Definition at line <a class="el" href="FunctionBase_8cxx_source.html#l00071">71</a> of file <a class="el" href="FunctionBase_8cxx_source.html">FunctionBase.cxx</a>.</p>

<p>References <a class="el" href="FunctionBase_8h_source.html#l00106">FunctionBase::m_parm_names</a>, <a class="el" href="FunctionBase_8h_source.html#l00109">FunctionBase::m_parms</a>, and <a class="el" href="FunctionBase_8cxx_source.html#l00156">FunctionBase::size()</a>.</p>

<p>Referenced by <a class="el" href="Quadratic2_8cxx_source.html#l00045">Quadratic2::initialize()</a>, <a class="el" href="Quadratic_8cxx_source.html#l00044">Quadratic::initialize()</a>, <a class="el" href="PowerLaw_8cxx_source.html#l00045">PowerLaw::initialize()</a>, <a class="el" href="Novosibirsk_8cxx_source.html#l00050">Novosibirsk::initialize()</a>, <a class="el" href="LogParabola_8cxx_source.html#l00051">LogParabola::initialize()</a>, <a class="el" href="LogNormal_8cxx_source.html#l00050">LogNormal::initialize()</a>, <a class="el" href="Linear_8cxx_source.html#l00043">Linear::initialize()</a>, <a class="el" href="Landau_8cxx_source.html#l00048">Landau::initialize()</a>, <a class="el" href="Gaussian_8cxx_source.html#l00054">Gaussian::initialize()</a>, <a class="el" href="FunctionWrap_8cxx_source.html#l00283">FunctionWrap::initialize()</a>, <a class="el" href="Exponential_8cxx_source.html#l00045">Exponential::initialize()</a>, <a class="el" href="Erfc_8cxx_source.html#l00047">Erfc::initialize()</a>, <a class="el" href="ConstantF_8cxx_source.html#l00042">ConstantF::initialize()</a>, <a class="el" href="Chi2Dist_8cxx_source.html#l00046">Chi2Dist::initialize()</a>, <a class="el" href="BrokenPowerLaw_8cxx_source.html#l00048">BrokenPowerLaw::initialize()</a>, <a class="el" href="FunctionWrap_8cxx_source.html#l00243">FunctionWrap::setParmNames()</a>, and <a class="el" href="FunctionBase_8cxx_source.html#l00093">FunctionBase::setParmNames()</a>.</p>

</div>
</div>
<a class="anchor" id="ad79b3edf375d6aa09288510a4e024a64"></a><!-- doxytag: member="hippodraw::FunctionBase::setName" ref="ad79b3edf375d6aa09288510a4e024a64" args="(const char *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setName </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the name of the function. </p>

<p>Definition at line <a class="el" href="FunctionBase_8cxx_source.html#l00066">66</a> of file <a class="el" href="FunctionBase_8cxx_source.html">FunctionBase.cxx</a>.</p>

<p>References <a class="el" href="FunctionBase_8h_source.html#l00103">FunctionBase::m_name</a>.</p>

</div>
</div>
<a class="anchor" id="a893adb244f76732ad5c1c46066ae1463"></a><!-- doxytag: member="hippodraw::FunctionBase::setParameters" ref="a893adb244f76732ad5c1c46066ae1463" args="(std::vector&lt; double &gt;::const_iterator it)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">vector&lt; double &gt;::const_iterator setParameters </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; double &gt;::const_iterator&nbsp;</td>
          <td class="paramname"> <em>it</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the parameter values to the value pointed to by the iterator. </p>
<p>Returns an iterator to a data element one past the last used data element. </p>

<p>Reimplemented in <a class="el" href="classhippodraw_1_1LinearSumFunction.html#a893adb244f76732ad5c1c46066ae1463">LinearSumFunction</a>.</p>

<p>Definition at line <a class="el" href="FunctionBase_8cxx_source.html#l00114">114</a> of file <a class="el" href="FunctionBase_8cxx_source.html">FunctionBase.cxx</a>.</p>

<p>References <a class="el" href="FunctionBase_8h_source.html#l00109">FunctionBase::m_parms</a>, and <a class="el" href="FunctionBase_8cxx_source.html#l00156">FunctionBase::size()</a>.</p>

</div>
</div>
<a class="anchor" id="aec721242269c5b893d79e271e85c3f79"></a><!-- doxytag: member="hippodraw::FunctionBase::setParameters" ref="aec721242269c5b893d79e271e85c3f79" args="(const std::vector&lt; double &gt; &amp;incr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setParameters </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; double &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>incr</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the parameter values. </p>
<p>Derived classes should implement this function by invoking incrementValues ( vector&lt; double &gt;::const_iterator ) so that they correctly work with the <a class="el" href="classhippodraw_1_1LinearSumFunction.html" title="A function that can be used with a fitter.">LinearSumFunction</a> class. </p>

<p>Definition at line <a class="el" href="FunctionBase_8cxx_source.html#l00106">106</a> of file <a class="el" href="FunctionBase_8cxx_source.html">FunctionBase.cxx</a>.</p>

<p>Referenced by <a class="el" href="FunctionWrap_8cxx_source.html#l00034">hippodraw::Python::export_FunctionBase()</a>, <a class="el" href="FunctionProjector_8cxx_source.html#l00088">FunctionProjector::restoreParameters()</a>, <a class="el" href="FunctionProjectorXML_8cxx_source.html#l00074">FunctionProjectorXML::setAttributes()</a>, and <a class="el" href="FunctionProjector_8cxx_source.html#l00297">FunctionProjector::setParameters()</a>.</p>

</div>
</div>
<a class="anchor" id="aeb533a9c185a44ea914278078359866f"></a><!-- doxytag: member="hippodraw::FunctionBase::setParmNames" ref="aeb533a9c185a44ea914278078359866f" args="(const std::vector&lt; std::string &gt; &amp;names)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setParmNames </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; std::string &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>names</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the names of the parameters. </p>

<p>Reimplemented in <a class="el" href="classhippodraw_1_1FunctionWrap.html#aeb533a9c185a44ea914278078359866f">FunctionWrap</a>.</p>

<p>Definition at line <a class="el" href="FunctionBase_8cxx_source.html#l00093">93</a> of file <a class="el" href="FunctionBase_8cxx_source.html">FunctionBase.cxx</a>.</p>

<p>References <a class="el" href="FunctionBase_8h_source.html#l00106">FunctionBase::m_parm_names</a>, and <a class="el" href="FunctionBase_8cxx_source.html#l00071">FunctionBase::resize()</a>.</p>

</div>
</div>
<a class="anchor" id="ab8e4e3e2a7bf18888b71bdf9dda0770b"></a><!-- doxytag: member="hippodraw::FunctionBase::size" ref="ab8e4e3e2a7bf18888b71bdf9dda0770b" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int size </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the number of parameters. </p>

<p>Reimplemented in <a class="el" href="classhippodraw_1_1LinearSumFunction.html#ab8e4e3e2a7bf18888b71bdf9dda0770b">LinearSumFunction</a>.</p>

<p>Definition at line <a class="el" href="FunctionBase_8cxx_source.html#l00156">156</a> of file <a class="el" href="FunctionBase_8cxx_source.html">FunctionBase.cxx</a>.</p>

<p>References <a class="el" href="FunctionBase_8h_source.html#l00106">FunctionBase::m_parm_names</a>.</p>

<p>Referenced by <a class="el" href="Novosibirsk_8cxx_source.html#l00098">Novosibirsk::initialParameters()</a>, <a class="el" href="LogParabola_8cxx_source.html#l00074">LogParabola::initialParameters()</a>, <a class="el" href="Gaussian_8cxx_source.html#l00089">Gaussian::initialParameters()</a>, <a class="el" href="FunctionWrap_8cxx_source.html#l00329">FunctionWrap::operator()()</a>, <a class="el" href="FunctionBase_8cxx_source.html#l00071">FunctionBase::resize()</a>, <a class="el" href="FunctionProjectorXML_8cxx_source.html#l00074">FunctionProjectorXML::setAttributes()</a>, and <a class="el" href="FunctionBase_8cxx_source.html#l00114">FunctionBase::setParameters()</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="adb41893ba19e889e56c559f25fc1a68a"></a><!-- doxytag: member="hippodraw::FunctionBase::m_name" ref="adb41893ba19e889e56c559f25fc1a68a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string <a class="el" href="classhippodraw_1_1FunctionBase.html#adb41893ba19e889e56c559f25fc1a68a">m_name</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The name of the function. </p>

<p>Definition at line <a class="el" href="FunctionBase_8h_source.html#l00103">103</a> of file <a class="el" href="FunctionBase_8h_source.html">FunctionBase.h</a>.</p>

<p>Referenced by <a class="el" href="FunctionBase_8cxx_source.html#l00030">FunctionBase::FunctionBase()</a>, <a class="el" href="Quadratic2_8cxx_source.html#l00045">Quadratic2::initialize()</a>, <a class="el" href="Quadratic_8cxx_source.html#l00044">Quadratic::initialize()</a>, <a class="el" href="PowerLaw_8cxx_source.html#l00045">PowerLaw::initialize()</a>, <a class="el" href="Novosibirsk_8cxx_source.html#l00050">Novosibirsk::initialize()</a>, <a class="el" href="LogParabola_8cxx_source.html#l00051">LogParabola::initialize()</a>, <a class="el" href="LogNormal_8cxx_source.html#l00050">LogNormal::initialize()</a>, <a class="el" href="LinearSumFunction_8cxx_source.html#l00049">LinearSumFunction::initialize()</a>, <a class="el" href="Linear_8cxx_source.html#l00043">Linear::initialize()</a>, <a class="el" href="Landau_8cxx_source.html#l00048">Landau::initialize()</a>, <a class="el" href="Gaussian_8cxx_source.html#l00054">Gaussian::initialize()</a>, <a class="el" href="Exponential_8cxx_source.html#l00045">Exponential::initialize()</a>, <a class="el" href="Erfc_8cxx_source.html#l00047">Erfc::initialize()</a>, <a class="el" href="ConstantF_8cxx_source.html#l00042">ConstantF::initialize()</a>, <a class="el" href="Chi2Dist_8cxx_source.html#l00046">Chi2Dist::initialize()</a>, <a class="el" href="BrokenPowerLaw_8cxx_source.html#l00048">BrokenPowerLaw::initialize()</a>, <a class="el" href="FunctionBase_8cxx_source.html#l00081">FunctionBase::name()</a>, and <a class="el" href="FunctionBase_8cxx_source.html#l00066">FunctionBase::setName()</a>.</p>

</div>
</div>
<a class="anchor" id="a96bf64e362e48f2ad4ecd76c32e4bc54"></a><!-- doxytag: member="hippodraw::FunctionBase::m_parm_names" ref="a96bf64e362e48f2ad4ecd76c32e4bc54" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;std::string&gt; <a class="el" href="classhippodraw_1_1FunctionBase.html#a96bf64e362e48f2ad4ecd76c32e4bc54">m_parm_names</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The names of the function parameters. </p>

<p>Definition at line <a class="el" href="FunctionBase_8h_source.html#l00106">106</a> of file <a class="el" href="FunctionBase_8h_source.html">FunctionBase.h</a>.</p>

<p>Referenced by <a class="el" href="Quadratic2_8cxx_source.html#l00045">Quadratic2::initialize()</a>, <a class="el" href="Quadratic_8cxx_source.html#l00044">Quadratic::initialize()</a>, <a class="el" href="PowerLaw_8cxx_source.html#l00045">PowerLaw::initialize()</a>, <a class="el" href="Novosibirsk_8cxx_source.html#l00050">Novosibirsk::initialize()</a>, <a class="el" href="LogParabola_8cxx_source.html#l00051">LogParabola::initialize()</a>, <a class="el" href="LogNormal_8cxx_source.html#l00050">LogNormal::initialize()</a>, <a class="el" href="Linear_8cxx_source.html#l00043">Linear::initialize()</a>, <a class="el" href="Landau_8cxx_source.html#l00048">Landau::initialize()</a>, <a class="el" href="Gaussian_8cxx_source.html#l00054">Gaussian::initialize()</a>, <a class="el" href="Exponential_8cxx_source.html#l00045">Exponential::initialize()</a>, <a class="el" href="Erfc_8cxx_source.html#l00047">Erfc::initialize()</a>, <a class="el" href="ConstantF_8cxx_source.html#l00042">ConstantF::initialize()</a>, <a class="el" href="Chi2Dist_8cxx_source.html#l00046">Chi2Dist::initialize()</a>, <a class="el" href="BrokenPowerLaw_8cxx_source.html#l00048">BrokenPowerLaw::initialize()</a>, <a class="el" href="LinearSumFunction_8cxx_source.html#l00060">LinearSumFunction::parmNames()</a>, <a class="el" href="FunctionBase_8cxx_source.html#l00086">FunctionBase::parmNames()</a>, <a class="el" href="FunctionBase_8cxx_source.html#l00071">FunctionBase::resize()</a>, <a class="el" href="FunctionWrap_8cxx_source.html#l00243">FunctionWrap::setParmNames()</a>, <a class="el" href="FunctionBase_8cxx_source.html#l00093">FunctionBase::setParmNames()</a>, and <a class="el" href="FunctionBase_8cxx_source.html#l00156">FunctionBase::size()</a>.</p>

</div>
</div>
<a class="anchor" id="aa892dcf9755ccd651b666f353b723c34"></a><!-- doxytag: member="hippodraw::FunctionBase::m_parms" ref="aa892dcf9755ccd651b666f353b723c34" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt; double &gt; <a class="el" href="classhippodraw_1_1FunctionBase.html#aa892dcf9755ccd651b666f353b723c34">m_parms</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The parameter values. </p>

<p>Definition at line <a class="el" href="FunctionBase_8h_source.html#l00109">109</a> of file <a class="el" href="FunctionBase_8h_source.html">FunctionBase.h</a>.</p>

<p>Referenced by <a class="el" href="BrokenPowerLaw_8cxx_source.html#l00037">BrokenPowerLaw::BrokenPowerLaw()</a>, <a class="el" href="Erfc_8h_source.html#l00077">Erfc::calcRed()</a>, <a class="el" href="Chi2Dist_8cxx_source.html#l00037">Chi2Dist::Chi2Dist()</a>, <a class="el" href="ConstantF_8cxx_source.html#l00035">ConstantF::ConstantF()</a>, <a class="el" href="Gaussian_8cxx_source.html#l00144">Gaussian::derivByMean()</a>, <a class="el" href="Landau_8cxx_source.html#l00122">Landau::derivByNorm()</a>, <a class="el" href="Gaussian_8cxx_source.html#l00123">Gaussian::derivByNorm()</a>, <a class="el" href="Quadratic2_8cxx_source.html#l00082">Quadratic2::derivByParm()</a>, <a class="el" href="PowerLaw_8cxx_source.html#l00093">PowerLaw::derivByParm()</a>, <a class="el" href="LogParabola_8cxx_source.html#l00086">LogParabola::derivByParm()</a>, <a class="el" href="Exponential_8cxx_source.html#l00090">Exponential::derivByParm()</a>, <a class="el" href="Erfc_8cxx_source.html#l00088">Erfc::derivByParm()</a>, <a class="el" href="Chi2Dist_8cxx_source.html#l00078">Chi2Dist::derivByParm()</a>, <a class="el" href="BrokenPowerLaw_8cxx_source.html#l00106">BrokenPowerLaw::derivByParm()</a>, <a class="el" href="Landau_8cxx_source.html#l00129">Landau::derivByPeak()</a>, <a class="el" href="Landau_8cxx_source.html#l00134">Landau::derivBySigma()</a>, <a class="el" href="Gaussian_8cxx_source.html#l00158">Gaussian::derivBySigma()</a>, <a class="el" href="Erfc_8cxx_source.html#l00038">Erfc::Erfc()</a>, <a class="el" href="Exponential_8cxx_source.html#l00037">Exponential::Exponential()</a>, <a class="el" href="Gaussian_8cxx_source.html#l00045">Gaussian::Gaussian()</a>, <a class="el" href="LinearSumFunction_8cxx_source.html#l00083">LinearSumFunction::getParameters()</a>, <a class="el" href="FunctionBase_8cxx_source.html#l00099">FunctionBase::getParameters()</a>, <a class="el" href="Quadratic2_8cxx_source.html#l00069">Quadratic2::initialParameters()</a>, <a class="el" href="Quadratic_8cxx_source.html#l00068">Quadratic::initialParameters()</a>, <a class="el" href="PowerLaw_8cxx_source.html#l00067">PowerLaw::initialParameters()</a>, <a class="el" href="Novosibirsk_8cxx_source.html#l00098">Novosibirsk::initialParameters()</a>, <a class="el" href="LogParabola_8cxx_source.html#l00074">LogParabola::initialParameters()</a>, <a class="el" href="LogNormal_8cxx_source.html#l00078">LogNormal::initialParameters()</a>, <a class="el" href="Linear_8cxx_source.html#l00065">Linear::initialParameters()</a>, <a class="el" href="Landau_8cxx_source.html#l00093">Landau::initialParameters()</a>, <a class="el" href="Gaussian_8cxx_source.html#l00089">Gaussian::initialParameters()</a>, <a class="el" href="Exponential_8cxx_source.html#l00067">Exponential::initialParameters()</a>, <a class="el" href="Erfc_8cxx_source.html#l00080">Erfc::initialParameters()</a>, <a class="el" href="ConstantF_8cxx_source.html#l00062">ConstantF::initialParameters()</a>, <a class="el" href="Chi2Dist_8cxx_source.html#l00070">Chi2Dist::initialParameters()</a>, <a class="el" href="BrokenPowerLaw_8cxx_source.html#l00076">BrokenPowerLaw::initialParameters()</a>, <a class="el" href="Landau_8cxx_source.html#l00039">Landau::Landau()</a>, <a class="el" href="Linear_8cxx_source.html#l00035">Linear::Linear()</a>, <a class="el" href="LogNormal_8cxx_source.html#l00041">LogNormal::LogNormal()</a>, <a class="el" href="LogParabola_8cxx_source.html#l00042">LogParabola::LogParabola()</a>, <a class="el" href="Novosibirsk_8cxx_source.html#l00040">Novosibirsk::Novosibirsk()</a>, <a class="el" href="Quadratic2_8cxx_source.html#l00061">Quadratic2::operator()()</a>, <a class="el" href="Quadratic_8cxx_source.html#l00060">Quadratic::operator()()</a>, <a class="el" href="PowerLaw_8cxx_source.html#l00059">PowerLaw::operator()()</a>, <a class="el" href="Novosibirsk_8cxx_source.html#l00067">Novosibirsk::operator()()</a>, <a class="el" href="LogParabola_8cxx_source.html#l00067">LogParabola::operator()()</a>, <a class="el" href="LogNormal_8cxx_source.html#l00066">LogNormal::operator()()</a>, <a class="el" href="Linear_8cxx_source.html#l00057">Linear::operator()()</a>, <a class="el" href="Landau_8cxx_source.html#l00081">Landau::operator()()</a>, <a class="el" href="Gaussian_8cxx_source.html#l00070">Gaussian::operator()()</a>, <a class="el" href="Exponential_8cxx_source.html#l00059">Exponential::operator()()</a>, <a class="el" href="ConstantF_8cxx_source.html#l00055">ConstantF::operator()()</a>, <a class="el" href="Chi2Dist_8cxx_source.html#l00061">Chi2Dist::operator()()</a>, <a class="el" href="BrokenPowerLaw_8cxx_source.html#l00064">BrokenPowerLaw::operator()()</a>, <a class="el" href="PowerLaw_8cxx_source.html#l00037">PowerLaw::PowerLaw()</a>, <a class="el" href="Quadratic_8cxx_source.html#l00035">Quadratic::Quadratic()</a>, <a class="el" href="Quadratic2_8cxx_source.html#l00036">Quadratic2::Quadratic2()</a>, <a class="el" href="FunctionBase_8cxx_source.html#l00071">FunctionBase::resize()</a>, and <a class="el" href="FunctionBase_8cxx_source.html#l00114">FunctionBase::setParameters()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="FunctionBase_8h_source.html">FunctionBase.h</a></li>
<li><a class="el" href="FunctionBase_8cxx_source.html">FunctionBase.cxx</a></li>
</ul>
</div>
<hr size="1"><address style="align: right;"><small>
Generated for HippoDraw Class Library by <a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0>
</a> </small></address>
</body>
</html>