Sophie

Sophie

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

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><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><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="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="dir_58b38df2e31e2ca35feeee31429c3534.html">projectors</a>
  </div>
</div>
<div class="contents">
<h1>FunctionProjector.cxx</h1><a href="FunctionProjector_8cxx.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 
<a name="l00012"></a>00012 <span class="comment">// For truncation warning</span>
<a name="l00013"></a>00013 <span class="preprocessor">#ifdef _MSC_VER</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#include &quot;msdevstudio/MSconfig.h&quot;</span>
<a name="l00015"></a>00015 <span class="preprocessor">#endif</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &quot;<a class="code" href="FunctionProjector_8h.html" title="hippodraw::FunctionProjector class interface">FunctionProjector.h</a>&quot;</span>
<a name="l00018"></a>00018 
<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;<a class="code" href="ProjectorHelper_8h.html" title="ProjectorHelper class interface.">ProjectorHelper.h</a>&quot;</span>
<a name="l00020"></a>00020 
<a name="l00021"></a>00021 <span class="preprocessor">#include &quot;<a class="code" href="AxisModelBase_8h.html" title="hippodraw::AxisModelBase class interface">axes/AxisModelBase.h</a>&quot;</span>
<a name="l00022"></a>00022 <span class="preprocessor">#include &quot;<a class="code" href="NTuple_8h.html" title="hippodraw::NTuple class interface.">datasrcs/NTuple.h</a>&quot;</span>
<a name="l00023"></a>00023 <span class="preprocessor">#include &quot;<a class="code" href="FunctionBase_8h.html" title="hippodraw::FunctionBase class interface">functions/FunctionBase.h</a>&quot;</span>
<a name="l00024"></a>00024 <span class="preprocessor">#include &quot;<a class="code" href="Fitter_8h.html" title="hippodraw::Fitter class interface">minimizers/Fitter.h</a>&quot;</span>
<a name="l00025"></a>00025 
<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;cmath&gt;</span>
<a name="l00027"></a>00027 
<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;cassert&gt;</span>
<a name="l00029"></a>00029 
<a name="l00030"></a>00030 <span class="keyword">using</span> std::copy;
<a name="l00031"></a>00031 <span class="keyword">using</span> std::list;
<a name="l00032"></a>00032 <span class="keyword">using</span> std::string;
<a name="l00033"></a>00033 <span class="keyword">using</span> std::vector;
<a name="l00034"></a>00034 
<a name="l00035"></a>00035 <span class="keyword">using namespace </span>hippodraw;
<a name="l00036"></a>00036 
<a name="l00037"></a>00037 <span class="keywordtype">string</span> FunctionProjector::s_x_label (<span class="stringliteral">&quot;X&quot;</span>);
<a name="l00038"></a>00038 
<a name="l00039"></a>00039 FunctionProjector::
<a name="l00040"></a><a class="code" href="classhippodraw_1_1FunctionProjector.html#a1147f8e7df8536c728b6342dd92c6baa">00040</a> FunctionProjector ( <a class="code" href="classhippodraw_1_1FunctionBase.html" title="A function that can be added to a DataRep and used in a fitter.">FunctionBase</a> * function,
<a name="l00041"></a>00041                     <a class="code" href="classhippodraw_1_1ProjectorBase.html" title="The base class for the Projector hierarchy.">ProjectorBase</a> * targetProjector )
<a name="l00042"></a>00042    :  <a class="code" href="classhippodraw_1_1ProjectorBase.html" title="The base class for the Projector hierarchy.">ProjectorBase</a> (),
<a name="l00043"></a>00043       m_target ( targetProjector ),
<a name="l00044"></a>00044       m_fitter ( 0 )
<a name="l00045"></a>00045 {
<a name="l00046"></a>00046   <a class="code" href="classhippodraw_1_1FunctionProjector.html#a8dc0ee286cf84b5835db9b75cb771cf4" title="The list of function objects to be projected.">m_function</a> = function;
<a name="l00047"></a>00047   assert ( <a class="code" href="classhippodraw_1_1FunctionProjector.html#a8dc0ee286cf84b5835db9b75cb771cf4" title="The list of function objects to be projected.">m_function</a> != 0 );
<a name="l00048"></a>00048   <a class="code" href="classhippodraw_1_1FunctionProjector.html#a1803857d16b082f0bb754fc9216b6f6a" title="Dummy member so getZLabel member can return reference.">m_z_label</a> = function -&gt; name ();
<a name="l00049"></a>00049 }
<a name="l00050"></a>00050 
<a name="l00052"></a>00052 <a class="code" href="classhippodraw_1_1FunctionProjector.html#a1147f8e7df8536c728b6342dd92c6baa" title="This constructor takes a FunctionBase object and its target data projector.">FunctionProjector::</a>
<a name="l00053"></a><a class="code" href="classhippodraw_1_1FunctionProjector.html#a949185ebbf51336ac90fa70091d1ebb9">00053</a> <a class="code" href="classhippodraw_1_1FunctionProjector.html#a1147f8e7df8536c728b6342dd92c6baa" title="This constructor takes a FunctionBase object and its target data projector.">FunctionProjector</a> ( <span class="keyword">const</span> <a class="code" href="classhippodraw_1_1FunctionProjector.html" title="A projector that plots one function.">FunctionProjector</a> &amp; projector )
<a name="l00054"></a>00054   : <a class="code" href="classhippodraw_1_1ProjectorBase.html" title="The base class for the Projector hierarchy.">ProjectorBase</a> ( projector )
<a name="l00055"></a>00055 {
<a name="l00056"></a>00056 }
<a name="l00057"></a>00057 
<a name="l00058"></a><a class="code" href="classhippodraw_1_1FunctionProjector.html#a87cf82fc4fb948ba76923ff23cd7c8ae">00058</a> <a class="code" href="classhippodraw_1_1FunctionProjector.html#a87cf82fc4fb948ba76923ff23cd7c8ae" title="The virtual destructor.">FunctionProjector::~FunctionProjector</a> ()
<a name="l00059"></a>00059 {
<a name="l00060"></a>00060   <span class="keyword">delete</span> <a class="code" href="classhippodraw_1_1FunctionProjector.html#a8dc0ee286cf84b5835db9b75cb771cf4" title="The list of function objects to be projected.">m_function</a>;
<a name="l00061"></a>00061   <span class="keyword">delete</span> <a class="code" href="classhippodraw_1_1FunctionProjector.html#a8857c53b302d6fad5561f0d533b7579a" title="A fitter object for the function.">m_fitter</a>;
<a name="l00062"></a>00062 }
<a name="l00063"></a>00063 
<a name="l00065"></a><a class="code" href="classhippodraw_1_1FunctionProjector.html#a1c21293cc4656448b450db7bd3eb6ecb">00065</a> <a class="code" href="classhippodraw_1_1ProjectorBase.html" title="The base class for the Projector hierarchy.">ProjectorBase</a> * <a class="code" href="classhippodraw_1_1FunctionProjector.html#a1c21293cc4656448b450db7bd3eb6ecb">FunctionProjector::clone</a> ()
<a name="l00066"></a>00066 {
<a name="l00067"></a>00067   <span class="keywordflow">return</span> 0;
<a name="l00068"></a>00068 }
<a name="l00069"></a>00069 
<a name="l00070"></a><a class="code" href="classhippodraw_1_1FunctionProjector.html#a3f4729504d1bf7595bec0c800e421bcd">00070</a> <a class="code" href="classhippodraw_1_1FunctionBase.html" title="A function that can be added to a DataRep and used in a fitter.">FunctionBase</a> * <a class="code" href="classhippodraw_1_1FunctionProjector.html#a3f4729504d1bf7595bec0c800e421bcd" title="Returns a pointer to the contained function.">FunctionProjector::function</a> ()<span class="keyword"> const</span>
<a name="l00071"></a>00071 <span class="keyword"></span>{
<a name="l00072"></a>00072   <span class="keywordflow">return</span> <a class="code" href="classhippodraw_1_1FunctionProjector.html#a8dc0ee286cf84b5835db9b75cb771cf4" title="The list of function objects to be projected.">m_function</a>;
<a name="l00073"></a>00073 }
<a name="l00074"></a>00074 
<a name="l00075"></a><a class="code" href="classhippodraw_1_1FunctionProjector.html#a7dd0172f83cb1b4f2ed1ec7892a1f471">00075</a> <span class="keywordtype">bool</span> <a class="code" href="classhippodraw_1_1FunctionProjector.html#a7dd0172f83cb1b4f2ed1ec7892a1f471" title="Returns true if the function&amp;#39;s parameters have been saved.">FunctionProjector:: hasSavedParameters</a> ()<span class="keyword"> const</span>
<a name="l00076"></a>00076 <span class="keyword"></span>{
<a name="l00077"></a>00077   <span class="keywordflow">return</span> <a class="code" href="classhippodraw_1_1FunctionProjector.html#a428086f0911c651156b9510f6d9e123f" title="A vector used to save parameters so that they can be restored.">m_save_parms</a>.empty() == <span class="keyword">false</span>;
<a name="l00078"></a>00078 }
<a name="l00079"></a>00079 
<a name="l00080"></a><a class="code" href="classhippodraw_1_1FunctionProjector.html#a8891f76510f573d291a4492e82058277">00080</a> <span class="keywordtype">void</span> <a class="code" href="classhippodraw_1_1FunctionProjector.html#a8891f76510f573d291a4492e82058277" title="Makes a copy of the function&amp;#39;s parameter values.">FunctionProjector::saveParameters</a> ()
<a name="l00081"></a>00081 {
<a name="l00082"></a>00082   assert ( <a class="code" href="classhippodraw_1_1FunctionProjector.html#a8dc0ee286cf84b5835db9b75cb771cf4" title="The list of function objects to be projected.">m_function</a> != 0 );
<a name="l00083"></a>00083 
<a name="l00084"></a>00084   <a class="code" href="classhippodraw_1_1FunctionProjector.html#a428086f0911c651156b9510f6d9e123f" title="A vector used to save parameters so that they can be restored.">m_save_parms</a> = <a class="code" href="classhippodraw_1_1FunctionProjector.html#a8dc0ee286cf84b5835db9b75cb771cf4" title="The list of function objects to be projected.">m_function</a>-&gt;<a class="code" href="classhippodraw_1_1FunctionBase.html#ab6d95a533aca7f862becee6eca151a68" title="Returns the values of the parameters as a vector.">getParameters</a> ();
<a name="l00085"></a>00085   <a class="code" href="classhippodraw_1_1FunctionProjector.html#a006462b570c0dacec2d98745ccc784b4" title="The principle errors of the errors associated with the parameters of the function...">m_principleErrors</a>.resize ( <a class="code" href="classhippodraw_1_1FunctionProjector.html#a428086f0911c651156b9510f6d9e123f" title="A vector used to save parameters so that they can be restored.">m_save_parms</a>.size(), 0. );
<a name="l00086"></a>00086 }
<a name="l00087"></a>00087 
<a name="l00088"></a><a class="code" href="classhippodraw_1_1FunctionProjector.html#a47ccfe256393641ff0bc272bc5c03a74">00088</a> <span class="keywordtype">void</span> <a class="code" href="classhippodraw_1_1FunctionProjector.html#a47ccfe256393641ff0bc272bc5c03a74" title="Restores the function&amp;#39;s parameter values from the previously saved values.">FunctionProjector::restoreParameters</a> ()
<a name="l00089"></a>00089 {
<a name="l00090"></a>00090   assert ( <a class="code" href="classhippodraw_1_1FunctionProjector.html#a8dc0ee286cf84b5835db9b75cb771cf4" title="The list of function objects to be projected.">m_function</a> != 0 );
<a name="l00091"></a>00091   assert ( ! <a class="code" href="classhippodraw_1_1FunctionProjector.html#a428086f0911c651156b9510f6d9e123f" title="A vector used to save parameters so that they can be restored.">m_save_parms</a>.empty () );
<a name="l00092"></a>00092 
<a name="l00093"></a>00093   <a class="code" href="classhippodraw_1_1FunctionProjector.html#a8dc0ee286cf84b5835db9b75cb771cf4" title="The list of function objects to be projected.">m_function</a>-&gt;<a class="code" href="classhippodraw_1_1FunctionBase.html#aec721242269c5b893d79e271e85c3f79" title="Sets the parameter values.">setParameters</a> ( <a class="code" href="classhippodraw_1_1FunctionProjector.html#a428086f0911c651156b9510f6d9e123f" title="A vector used to save parameters so that they can be restored.">m_save_parms</a> );
<a name="l00094"></a>00094 
<a name="l00095"></a>00095   <a class="code" href="classhippodraw_1_1ProjectorBase.html#a4d656a5b47b5582bfdd5aa98a11f5aff" title="Sets the dirty flag to value.">setDirty</a> ( <span class="keyword">true</span> );
<a name="l00096"></a>00096 }
<a name="l00097"></a>00097 
<a name="l00098"></a>00098 <span class="keywordtype">void</span>
<a name="l00099"></a>00099 <a class="code" href="classhippodraw_1_1FunctionProjector.html#a0e85573cf9561596228522bf8110290e" title="Sets the Fitter to be used.">FunctionProjector::</a>
<a name="l00100"></a><a class="code" href="classhippodraw_1_1FunctionProjector.html#a0e85573cf9561596228522bf8110290e">00100</a> <a class="code" href="classhippodraw_1_1FunctionProjector.html#a0e85573cf9561596228522bf8110290e" title="Sets the Fitter to be used.">setFitter</a> ( <a class="code" href="classhippodraw_1_1Fitter.html" title="The base class for fitters.">Fitter</a> * fitter )
<a name="l00101"></a>00101 {
<a name="l00102"></a>00102   <a class="code" href="classhippodraw_1_1FunctionProjector.html#a8857c53b302d6fad5561f0d533b7579a" title="A fitter object for the function.">m_fitter</a> = fitter;
<a name="l00103"></a>00103 }
<a name="l00104"></a>00104 
<a name="l00105"></a>00105 <a class="code" href="classhippodraw_1_1Fitter.html" title="The base class for fitters.">Fitter</a> *
<a name="l00106"></a>00106 <a class="code" href="classhippodraw_1_1FunctionProjector.html#a9397d41b7f3c957482cc1ce1b4b1f169" title="Returns the Fitter that is in use.">FunctionProjector::</a>
<a name="l00107"></a><a class="code" href="classhippodraw_1_1FunctionProjector.html#a9397d41b7f3c957482cc1ce1b4b1f169">00107</a> <a class="code" href="classhippodraw_1_1FunctionProjector.html#a9397d41b7f3c957482cc1ce1b4b1f169" title="Returns the Fitter that is in use.">getFitter</a> ( )<span class="keyword"> const</span>
<a name="l00108"></a>00108 <span class="keyword"></span>{
<a name="l00109"></a>00109   <span class="keywordflow">return</span> <a class="code" href="classhippodraw_1_1FunctionProjector.html#a8857c53b302d6fad5561f0d533b7579a" title="A fitter object for the function.">m_fitter</a>;
<a name="l00110"></a>00110 }
<a name="l00111"></a>00111 
<a name="l00112"></a>00112 <span class="keywordtype">void</span>
<a name="l00113"></a>00113 <a class="code" href="classhippodraw_1_1FunctionProjector.html#a74451a6244805b7eaf1eae7b571493c9" title="Gives the function object initial values based on a given data projector.">FunctionProjector::</a>
<a name="l00114"></a><a class="code" href="classhippodraw_1_1FunctionProjector.html#a74451a6244805b7eaf1eae7b571493c9">00114</a> <a class="code" href="classhippodraw_1_1FunctionProjector.html#a74451a6244805b7eaf1eae7b571493c9" title="Gives the function object initial values based on a given data projector.">initializeFunction</a> ( <a class="code" href="classhippodraw_1_1ProjectorBase.html" title="The base class for the Projector hierarchy.">ProjectorBase</a> * projector )
<a name="l00115"></a>00115 {
<a name="l00116"></a>00116   assert ( <a class="code" href="classhippodraw_1_1FunctionProjector.html#a8dc0ee286cf84b5835db9b75cb771cf4" title="The list of function objects to be projected.">m_function</a> != 0 );
<a name="l00117"></a>00117 
<a name="l00118"></a>00118   <a class="code" href="classhippodraw_1_1FunctionProjector.html#a0fc6d77e760cfa6fbac5c3fd5b801ed0" title="The ProjectorBase object containing the data points for the function and fitter.">m_target</a> = projector;
<a name="l00119"></a>00119   <span class="keywordflow">if</span> ( <a class="code" href="classhippodraw_1_1FunctionProjector.html#a0fc6d77e760cfa6fbac5c3fd5b801ed0" title="The ProjectorBase object containing the data points for the function and fitter.">m_target</a> != 0 ) {
<a name="l00120"></a>00120     projector-&gt;<a class="code" href="classhippodraw_1_1ProjectorBase.html#accd9823e3e5563003ba43e03b860b02e" title="Informs the projector to prepare its projected values for plotting.">prepareValues</a>();
<a name="l00121"></a>00121     <a class="code" href="classhippodraw_1_1ProjectorHelper.html" title="A concreate implementation of the FunctionHelper class.">ProjectorHelper</a> helper ( projector -&gt; <a class="code" href="classhippodraw_1_1ProjectorBase.html#a3a6872d803f79eabb52babd8ae39d605" title="Returns DataSource representation of projected values.">getProjectedValues</a> () );
<a name="l00122"></a>00122     <a class="code" href="classhippodraw_1_1FunctionProjector.html#a8dc0ee286cf84b5835db9b75cb771cf4" title="The list of function objects to be projected.">m_function</a>-&gt;<a class="code" href="classhippodraw_1_1FunctionBase.html#ac89ece7f0010b352e8d897f0a352f811" title="Sets the FunctionHelper so that the function can calculate a reasonable set of initial...">initialParameters</a> ( &amp; helper );
<a name="l00123"></a>00123   }
<a name="l00124"></a>00124 
<a name="l00125"></a>00125   <a class="code" href="classhippodraw_1_1FunctionProjector.html#a8891f76510f573d291a4492e82058277" title="Makes a copy of the function&amp;#39;s parameter values.">saveParameters</a> ();
<a name="l00126"></a>00126 }
<a name="l00127"></a>00127 
<a name="l00128"></a>00128 <span class="keywordtype">bool</span>
<a name="l00129"></a>00129 <a class="code" href="classhippodraw_1_1FunctionProjector.html#a6f3c61b75deee71b8d79fb23471b7587" title="Fits the function.">FunctionProjector::</a>
<a name="l00130"></a><a class="code" href="classhippodraw_1_1FunctionProjector.html#a6f3c61b75deee71b8d79fb23471b7587">00130</a> <a class="code" href="classhippodraw_1_1FunctionProjector.html#a6f3c61b75deee71b8d79fb23471b7587" title="Fits the function.">fitFunction</a> ( )
<a name="l00131"></a>00131 {
<a name="l00132"></a>00132   assert ( <a class="code" href="classhippodraw_1_1FunctionProjector.html#a8dc0ee286cf84b5835db9b75cb771cf4" title="The list of function objects to be projected.">m_function</a> != 0 &amp;&amp; <a class="code" href="classhippodraw_1_1FunctionProjector.html#a0fc6d77e760cfa6fbac5c3fd5b801ed0" title="The ProjectorBase object containing the data points for the function and fitter.">m_target</a> != 0 );
<a name="l00133"></a>00133   assert ( <a class="code" href="classhippodraw_1_1FunctionProjector.html#a8857c53b302d6fad5561f0d533b7579a" title="A fitter object for the function.">m_fitter</a> != 0 );
<a name="l00134"></a>00134   <a class="code" href="classhippodraw_1_1FunctionProjector.html#a0fc6d77e760cfa6fbac5c3fd5b801ed0" title="The ProjectorBase object containing the data points for the function and fitter.">m_target</a> -&gt; <a class="code" href="classhippodraw_1_1ProjectorBase.html#accd9823e3e5563003ba43e03b860b02e" title="Informs the projector to prepare its projected values for plotting.">prepareValues</a> ();
<a name="l00135"></a>00135 
<a name="l00136"></a>00136   <span class="keywordflow">if</span> ( <a class="code" href="classhippodraw_1_1FunctionProjector.html#a7dd0172f83cb1b4f2ed1ec7892a1f471" title="Returns true if the function&amp;#39;s parameters have been saved.">hasSavedParameters</a>() == <span class="keyword">false</span> ) {
<a name="l00137"></a>00137     <a class="code" href="classhippodraw_1_1FunctionProjector.html#a8891f76510f573d291a4492e82058277" title="Makes a copy of the function&amp;#39;s parameter values.">saveParameters</a> ();
<a name="l00138"></a>00138   }
<a name="l00139"></a>00139   <span class="comment">// Calculate the best fit</span>
<a name="l00140"></a>00140   <span class="keywordtype">bool</span> ok = <a class="code" href="classhippodraw_1_1FunctionProjector.html#a8857c53b302d6fad5561f0d533b7579a" title="A fitter object for the function.">m_fitter</a>-&gt;<a class="code" href="classhippodraw_1_1Fitter.html#a6b32cf633d6e11f0c01fe0884adfddc8" title="Calculates the best fit.">calcBestFit</a> ();
<a name="l00141"></a>00141   
<a name="l00142"></a>00142   <a class="code" href="classhippodraw_1_1ProjectorBase.html#a4d656a5b47b5582bfdd5aa98a11f5aff" title="Sets the dirty flag to value.">setDirty</a> ( <span class="keyword">true</span> );
<a name="l00143"></a>00143   
<a name="l00144"></a>00144   <span class="keywordflow">return</span> ok;
<a name="l00145"></a>00145 }
<a name="l00146"></a>00146 
<a name="l00147"></a><a class="code" href="classhippodraw_1_1FunctionProjector.html#a5c6c10f52e919ac9799a63f799c44760">00147</a> <span class="keyword">const</span> <span class="keywordtype">string</span> &amp; <a class="code" href="classhippodraw_1_1FunctionProjector.html#a5c6c10f52e919ac9799a63f799c44760" title="Finds the title of the plot.">FunctionProjector::getTitle</a>()<span class="keyword"> const</span>
<a name="l00148"></a>00148 <span class="keyword"></span>{
<a name="l00149"></a>00149   <span class="keywordflow">return</span> <a class="code" href="classhippodraw_1_1FunctionProjector.html#a8dc0ee286cf84b5835db9b75cb771cf4" title="The list of function objects to be projected.">m_function</a>-&gt;<a class="code" href="classhippodraw_1_1FunctionBase.html#a11c23a386abb9eb8a42f0c2c2835d640" title="Returns the name of the function.">name</a> ();
<a name="l00150"></a>00150 } 
<a name="l00151"></a>00151 
<a name="l00152"></a>00152 <span class="keywordtype">void</span>
<a name="l00153"></a>00153 <a class="code" href="classhippodraw_1_1FunctionProjector.html#a6d962b48e7900849c06bbcb2f3300424" title="Sets the range of the selected axis.">FunctionProjector::</a>
<a name="l00154"></a><a class="code" href="classhippodraw_1_1FunctionProjector.html#a6d962b48e7900849c06bbcb2f3300424">00154</a> <a class="code" href="classhippodraw_1_1FunctionProjector.html#a6d962b48e7900849c06bbcb2f3300424" title="Sets the range of the selected axis.">setRange</a> ( <a class="code" href="namespacehippodraw_1_1Axes.html#a1d1cfd8ffb84e947f82999c682b666a7" title="Axes constants.">hippodraw::Axes::Type</a>, <span class="keywordtype">bool</span> )
<a name="l00155"></a>00155 {
<a name="l00156"></a>00156   <a class="code" href="classhippodraw_1_1ProjectorBase.html#a4d656a5b47b5582bfdd5aa98a11f5aff" title="Sets the dirty flag to value.">setDirty</a> ( <span class="keyword">true</span> );
<a name="l00157"></a>00157 }
<a name="l00158"></a>00158 
<a name="l00159"></a><a class="code" href="classhippodraw_1_1FunctionProjector.html#a794bf92a20967e3e3bfc6b8d227f9fe8">00159</a> <span class="keyword">const</span> std::string &amp; <a class="code" href="classhippodraw_1_1FunctionProjector.html#a794bf92a20967e3e3bfc6b8d227f9fe8" title="Finds the X axis label of the plot.">FunctionProjector::getXLabel</a> ()<span class="keyword"> const</span>
<a name="l00160"></a>00160 <span class="keyword"></span>{
<a name="l00161"></a>00161   <span class="keywordflow">return</span> <a class="code" href="classhippodraw_1_1FunctionProjector.html#ac33ec1d90a251c7dab8ef5a9d8f5e732" title="An X label that might be used.">s_x_label</a>;
<a name="l00162"></a>00162 }
<a name="l00163"></a>00163 
<a name="l00164"></a><a class="code" href="classhippodraw_1_1FunctionProjector.html#ae07d001802a7fc2cb2ffeb920c9e6807">00164</a> <span class="keyword">const</span> <span class="keywordtype">string</span> &amp; <a class="code" href="classhippodraw_1_1FunctionProjector.html#ae07d001802a7fc2cb2ffeb920c9e6807" title="Finds the Y axis label of the plot.">FunctionProjector::getYLabel</a> ( <span class="keywordtype">bool</span> )<span class="keyword"> const</span>
<a name="l00165"></a>00165 <span class="keyword"></span>{
<a name="l00166"></a>00166   <span class="keywordflow">return</span> <a class="code" href="classhippodraw_1_1FunctionProjector.html#a8dc0ee286cf84b5835db9b75cb771cf4" title="The list of function objects to be projected.">m_function</a>-&gt;<a class="code" href="classhippodraw_1_1FunctionBase.html#a11c23a386abb9eb8a42f0c2c2835d640" title="Returns the name of the function.">name</a> ();
<a name="l00167"></a>00167 }
<a name="l00168"></a>00168 
<a name="l00170"></a><a class="code" href="classhippodraw_1_1FunctionProjector.html#ac26ff354c4e5f8ca3d9f8c55782329db">00170</a> <a class="code" href="classhippodraw_1_1Range.html" title="Expresses a range of values.">Range</a> <a class="code" href="classhippodraw_1_1FunctionProjector.html#ac26ff354c4e5f8ca3d9f8c55782329db">FunctionProjector::valueRange</a>()<span class="keyword"> const</span>
<a name="l00171"></a>00171 <span class="keyword"></span>{
<a name="l00172"></a>00172   <span class="keywordflow">return</span> <a class="code" href="classhippodraw_1_1Range.html" title="Expresses a range of values.">Range</a> ( 0, 0 );
<a name="l00173"></a>00173 }
<a name="l00174"></a>00174 
<a name="l00175"></a>00175 <span class="keywordtype">int</span>
<a name="l00176"></a>00176 <a class="code" href="classhippodraw_1_1FunctionProjector.html#a8e2544f7315631c6c4357d2f09bdcafc" title="A call to this member function is meaningless.">FunctionProjector::</a>
<a name="l00177"></a><a class="code" href="classhippodraw_1_1FunctionProjector.html#a8e2544f7315631c6c4357d2f09bdcafc">00177</a> <a class="code" href="classhippodraw_1_1FunctionProjector.html#a8e2544f7315631c6c4357d2f09bdcafc" title="A call to this member function is meaningless.">getNumberOfEntries</a> ()<span class="keyword"> const</span>
<a name="l00178"></a>00178 <span class="keyword"></span>{
<a name="l00179"></a>00179   <span class="comment">// A call to this function for a FunctionProjector is meaningless.</span>
<a name="l00180"></a>00180   <span class="comment">// Thus it returns meaningless negative number</span>
<a name="l00181"></a>00181   <span class="keywordflow">return</span> -1;
<a name="l00182"></a>00182 }
<a name="l00183"></a>00183 
<a name="l00184"></a>00184 <span class="keywordtype">int</span>
<a name="l00185"></a>00185 <a class="code" href="classhippodraw_1_1FunctionProjector.html#a35cdd67c6245217febba7aa474120526" title="Returns the number of underflow.">FunctionProjector::</a>
<a name="l00186"></a><a class="code" href="classhippodraw_1_1FunctionProjector.html#a35cdd67c6245217febba7aa474120526">00186</a> <a class="code" href="classhippodraw_1_1FunctionProjector.html#a35cdd67c6245217febba7aa474120526" title="Returns the number of underflow.">getUnderflow</a> ()<span class="keyword"> const</span>
<a name="l00187"></a>00187 <span class="keyword"></span>{
<a name="l00188"></a>00188   <span class="keywordflow">return</span> -1;
<a name="l00189"></a>00189 }
<a name="l00190"></a>00190 
<a name="l00191"></a>00191 <span class="keywordtype">int</span> 
<a name="l00192"></a>00192 <a class="code" href="classhippodraw_1_1FunctionProjector.html#a94fdcfac38ba98c6263f9ed44110e639" title="Returns the number of overflow.">FunctionProjector::</a>
<a name="l00193"></a><a class="code" href="classhippodraw_1_1FunctionProjector.html#a94fdcfac38ba98c6263f9ed44110e639">00193</a> <a class="code" href="classhippodraw_1_1FunctionProjector.html#a94fdcfac38ba98c6263f9ed44110e639" title="Returns the number of overflow.">getOverflow</a> ()<span class="keyword"> const</span>
<a name="l00194"></a>00194 <span class="keyword"></span>{
<a name="l00195"></a>00195   <span class="keywordflow">return</span> -1;
<a name="l00196"></a>00196 }
<a name="l00197"></a>00197 
<a name="l00198"></a>00198 <a class="code" href="classhippodraw_1_1Range.html" title="Expresses a range of values.">Range</a>
<a name="l00199"></a>00199 <a class="code" href="classhippodraw_1_1FunctionProjector.html#a2fbc3c41944070b8bac786b6c10a6ae6" title="Returns the range of the raw data.">FunctionProjector::</a>
<a name="l00200"></a><a class="code" href="classhippodraw_1_1FunctionProjector.html#a2fbc3c41944070b8bac786b6c10a6ae6">00200</a> <a class="code" href="classhippodraw_1_1FunctionProjector.html#a2fbc3c41944070b8bac786b6c10a6ae6" title="Returns the range of the raw data.">dataRangeOn</a> ( <a class="code" href="namespacehippodraw_1_1Axes.html#a1d1cfd8ffb84e947f82999c682b666a7" title="Axes constants.">hippodraw::Axes::Type</a> axis )<span class="keyword"> const</span>
<a name="l00201"></a>00201 <span class="keyword"></span>{
<a name="l00202"></a>00202   <a class="code" href="classhippodraw_1_1AxisModelBase.html" title="The AxisModelBase class maintains the Range and scaling of an axis.">AxisModelBase</a> * model = 0;
<a name="l00203"></a>00203   <span class="keywordflow">switch</span> ( axis ) {
<a name="l00204"></a>00204   <span class="keywordflow">case</span> <a class="code" href="namespacehippodraw_1_1Axes.html#a1d1cfd8ffb84e947f82999c682b666a7a58833a3110c570fb05130d40c365d1e4" title="X axis.">Axes::X</a> :
<a name="l00205"></a>00205     model = <a class="code" href="classhippodraw_1_1ProjectorBase.html#abfbe2359165f154f6e4f532fdd41de80" title="The AxisModel along the X axis.">m_x_axis</a>;
<a name="l00206"></a>00206     <span class="keywordflow">break</span>;
<a name="l00207"></a>00207   <span class="keywordflow">case</span> <a class="code" href="namespacehippodraw_1_1Axes.html#a1d1cfd8ffb84e947f82999c682b666a7a5596231eabd6cf29050967d5ac83ad84" title="Y axis.">Axes::Y</a> :
<a name="l00208"></a>00208     model = <a class="code" href="classhippodraw_1_1ProjectorBase.html#acf88649cd06c6947e10eeb2adaaa0fe2" title="The AxisModel along the Y axis.">m_y_axis</a>;
<a name="l00209"></a>00209     <span class="keywordflow">break</span>;
<a name="l00210"></a>00210   <span class="keywordflow">case</span> <a class="code" href="namespacehippodraw_1_1Axes.html#a1d1cfd8ffb84e947f82999c682b666a7aa70478ce277ffc322f8e1e3418e07355" title="Z axis.">Axes::Z</a> :
<a name="l00211"></a>00211     model = <a class="code" href="classhippodraw_1_1ProjectorBase.html#a68ad35a70cea709786ac76ee2eca4ca2" title="The AxisModel along the Z axis.">m_z_axis</a>;
<a name="l00212"></a>00212     <span class="keywordflow">break</span>;
<a name="l00213"></a>00213   <span class="keywordflow">default</span>:
<a name="l00214"></a>00214     assert ( <span class="keyword">false</span> );
<a name="l00215"></a>00215   }
<a name="l00216"></a>00216 
<a name="l00217"></a>00217   <span class="keywordflow">return</span> model -&gt; <a class="code" href="classhippodraw_1_1ProjectorBase.html#a07a7a95796bd8c890084cad57f48e5de" title="Returns the Range along the specified axis.">getRange</a> ( <span class="keyword">false</span> );
<a name="l00218"></a>00218 }
<a name="l00219"></a>00219 
<a name="l00220"></a><a class="code" href="classhippodraw_1_1FunctionProjector.html#a35d807e079d04d56ca61b604d49deae8">00220</a> <span class="keywordtype">double</span> <a class="code" href="classhippodraw_1_1FunctionProjector.html#a35d807e079d04d56ca61b604d49deae8" title="Returns the objective value (chi2 or likelihood) between the function and the data...">FunctionProjector::objectiveValue</a> ()<span class="keyword"> const</span>
<a name="l00221"></a>00221 <span class="keyword"></span>{
<a name="l00222"></a>00222   <span class="keywordflow">return</span> <a class="code" href="classhippodraw_1_1FunctionProjector.html#a8857c53b302d6fad5561f0d533b7579a" title="A fitter object for the function.">m_fitter</a>-&gt;<a class="code" href="classhippodraw_1_1Fitter.html#a35d807e079d04d56ca61b604d49deae8" title="Calculates the value of the objective function at the current set of parameters.">objectiveValue</a> ();
<a name="l00223"></a>00223 }
<a name="l00224"></a>00224 
<a name="l00225"></a>00225 <span class="keywordtype">void</span>
<a name="l00226"></a>00226 <a class="code" href="classhippodraw_1_1FunctionProjector.html#a61c9d309f14c1f7eda45104f84efe59e" title="Calculates the principle errors from the fit.">FunctionProjector::</a>
<a name="l00227"></a><a class="code" href="classhippodraw_1_1FunctionProjector.html#a61c9d309f14c1f7eda45104f84efe59e">00227</a> <a class="code" href="classhippodraw_1_1FunctionProjector.html#a61c9d309f14c1f7eda45104f84efe59e" title="Calculates the principle errors from the fit.">calcPrincipleErrors</a>()<span class="keyword"> const</span>
<a name="l00228"></a>00228 <span class="keyword"></span>{
<a name="l00229"></a>00229   <span class="keywordtype">int</span> num_parms = <a class="code" href="classhippodraw_1_1FunctionProjector.html#a428086f0911c651156b9510f6d9e123f" title="A vector used to save parameters so that they can be restored.">m_save_parms</a>.size ();
<a name="l00230"></a>00230   <a class="code" href="classhippodraw_1_1FunctionProjector.html#a006462b570c0dacec2d98745ccc784b4" title="The principle errors of the errors associated with the parameters of the function...">m_principleErrors</a>.clear();
<a name="l00231"></a>00231   <a class="code" href="classhippodraw_1_1FunctionProjector.html#a006462b570c0dacec2d98745ccc784b4" title="The principle errors of the errors associated with the parameters of the function...">m_principleErrors</a>.resize( num_parms, 0.0 );
<a name="l00232"></a>00232   <span class="keywordflow">if</span> ( <a class="code" href="classhippodraw_1_1FunctionProjector.html#a8857c53b302d6fad5561f0d533b7579a" title="A fitter object for the function.">m_fitter</a> != 0 ) {
<a name="l00233"></a>00233     <a class="code" href="classhippodraw_1_1FunctionProjector.html#a8857c53b302d6fad5561f0d533b7579a" title="A fitter object for the function.">m_fitter</a> -&gt; calcCovariance ( <a class="code" href="classhippodraw_1_1FunctionProjector.html#a05491a08630ec91887838561da4d878a" title="The error covariance matrix of the errors associated with the parameters of the function...">m_covariance</a> );
<a name="l00234"></a>00234     <span class="keywordtype">int</span> n = <a class="code" href="classhippodraw_1_1FunctionProjector.html#a05491a08630ec91887838561da4d878a" title="The error covariance matrix of the errors associated with the parameters of the function...">m_covariance</a>.size();
<a name="l00235"></a>00235     <span class="keywordflow">if</span> ( n != 0 ) {
<a name="l00236"></a>00236       <span class="keyword">const</span> vector &lt; int &gt; &amp; fixed = <a class="code" href="classhippodraw_1_1FunctionProjector.html#a8857c53b302d6fad5561f0d533b7579a" title="A fitter object for the function.">m_fitter</a> -&gt; getFixedFlags ();
<a name="l00237"></a>00237       <span class="keywordtype">int</span> ic = 0;
<a name="l00238"></a>00238       <span class="keywordflow">for</span>( <span class="keywordtype">int</span> i = 0; i &lt; num_parms; i++ ) {
<a name="l00239"></a>00239         <span class="keywordflow">if</span> ( fixed [ i ] == 0 ) {
<a name="l00240"></a>00240           <a class="code" href="classhippodraw_1_1FunctionProjector.html#a006462b570c0dacec2d98745ccc784b4" title="The principle errors of the errors associated with the parameters of the function...">m_principleErrors</a>[i] = sqrt( <a class="code" href="classhippodraw_1_1FunctionProjector.html#a05491a08630ec91887838561da4d878a" title="The error covariance matrix of the errors associated with the parameters of the function...">m_covariance</a>[ic][ic] );
<a name="l00241"></a>00241           ic++;
<a name="l00242"></a>00242         }
<a name="l00243"></a>00243         <span class="keywordflow">else</span> {
<a name="l00244"></a>00244           <a class="code" href="classhippodraw_1_1FunctionProjector.html#a006462b570c0dacec2d98745ccc784b4" title="The principle errors of the errors associated with the parameters of the function...">m_principleErrors</a>[i] = 0.0;
<a name="l00245"></a>00245         }
<a name="l00246"></a>00246       }
<a name="l00247"></a>00247     }
<a name="l00248"></a>00248   }
<a name="l00249"></a>00249 }
<a name="l00250"></a>00250 
<a name="l00251"></a>00251 <span class="keyword">const</span> vector &lt; double &gt; &amp; 
<a name="l00252"></a>00252 <a class="code" href="classhippodraw_1_1FunctionProjector.html#a48e275e03e4a6af662d3f3314a71713c" title="Returns the principle diagonal of the covariance matrix.">FunctionProjector::</a>
<a name="l00253"></a><a class="code" href="classhippodraw_1_1FunctionProjector.html#a48e275e03e4a6af662d3f3314a71713c">00253</a> <a class="code" href="classhippodraw_1_1FunctionProjector.html#a48e275e03e4a6af662d3f3314a71713c" title="Returns the principle diagonal of the covariance matrix.">principleErrors</a>()<span class="keyword"> const</span>
<a name="l00254"></a>00254 <span class="keyword"></span>{
<a name="l00255"></a>00255   <span class="keywordflow">return</span> <a class="code" href="classhippodraw_1_1FunctionProjector.html#a006462b570c0dacec2d98745ccc784b4" title="The principle errors of the errors associated with the parameters of the function...">m_principleErrors</a>;
<a name="l00256"></a>00256 }
<a name="l00257"></a>00257 
<a name="l00258"></a>00258 <span class="keywordtype">void</span>
<a name="l00259"></a>00259 <a class="code" href="classhippodraw_1_1FunctionProjector.html#a36ab31a0ffda24c3c97dc78c4a120bfe" title="Sets the principle errors.">FunctionProjector::</a>
<a name="l00260"></a><a class="code" href="classhippodraw_1_1FunctionProjector.html#a36ab31a0ffda24c3c97dc78c4a120bfe">00260</a> <a class="code" href="classhippodraw_1_1FunctionProjector.html#a36ab31a0ffda24c3c97dc78c4a120bfe" title="Sets the principle errors.">setPrincipleErrors</a> ( std::vector &lt; double &gt; :: const_iterator begin,
<a name="l00261"></a>00261                      std::vector &lt; double &gt; :: const_iterator end )
<a name="l00262"></a>00262 {
<a name="l00263"></a>00263   <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="namespacenum__util.html#a137f48a49d12a7dae8ba7c86db2a0c01">size</a> = std::distance ( begin, end );
<a name="l00264"></a>00264   assert ( size == <a class="code" href="classhippodraw_1_1FunctionProjector.html#a006462b570c0dacec2d98745ccc784b4" title="The principle errors of the errors associated with the parameters of the function...">m_principleErrors</a>.size () );
<a name="l00265"></a>00265 
<a name="l00266"></a>00266   copy ( begin, end, <a class="code" href="classhippodraw_1_1FunctionProjector.html#a006462b570c0dacec2d98745ccc784b4" title="The principle errors of the errors associated with the parameters of the function...">m_principleErrors</a>.begin() );
<a name="l00267"></a>00267 }
<a name="l00268"></a>00268 
<a name="l00269"></a><a class="code" href="classhippodraw_1_1FunctionProjector.html#a4fd39d150f1dc0c6313d5c633aa3137a">00269</a> <span class="keywordtype">int</span> <a class="code" href="classhippodraw_1_1FunctionProjector.html#a4fd39d150f1dc0c6313d5c633aa3137a" title="Returns the number of degrees of freedom in the fit.">FunctionProjector::degreesOfFreedom</a> ()<span class="keyword"> const</span>
<a name="l00270"></a>00270 <span class="keyword"></span>{
<a name="l00271"></a>00271   <span class="keywordflow">return</span> <a class="code" href="classhippodraw_1_1FunctionProjector.html#a8857c53b302d6fad5561f0d533b7579a" title="A fitter object for the function.">m_fitter</a>-&gt;<a class="code" href="classhippodraw_1_1Fitter.html#abb9b6e0a214042e968b50f9925572d0d" title="Returns the number of degrees of freedom in the fit.">calcDegreesOfFreedom</a> ();
<a name="l00272"></a>00272 }
<a name="l00273"></a>00273 
<a name="l00274"></a>00274 <span class="keywordtype">double</span>
<a name="l00275"></a>00275 <a class="code" href="classhippodraw_1_1FunctionProjector.html#a9b7f52b35a36945e24a56c507e8fb972" title="Returns the minimum positive value.">FunctionProjector::</a>
<a name="l00276"></a><a class="code" href="classhippodraw_1_1FunctionProjector.html#a9b7f52b35a36945e24a56c507e8fb972">00276</a> <a class="code" href="classhippodraw_1_1FunctionProjector.html#a9b7f52b35a36945e24a56c507e8fb972" title="Returns the minimum positive value.">getPosOn</a> ( <a class="code" href="namespacehippodraw_1_1Axes.html#a1d1cfd8ffb84e947f82999c682b666a7" title="Axes constants.">hippodraw::Axes::Type</a> )<span class="keyword"> const</span>
<a name="l00277"></a>00277 <span class="keyword"></span>{
<a name="l00278"></a>00278   <span class="keywordflow">return</span> 0.0;
<a name="l00279"></a>00279 }
<a name="l00280"></a>00280 
<a name="l00281"></a><a class="code" href="classhippodraw_1_1FunctionProjector.html#a0c903dd960a2a534c28bb5a06bb89bda">00281</a> <span class="keyword">const</span> <span class="keywordtype">string</span> &amp; <a class="code" href="classhippodraw_1_1FunctionProjector.html#a0c903dd960a2a534c28bb5a06bb89bda" title="Is meaningless for this projector.">FunctionProjector::getZLabel</a>()<span class="keyword"> const</span>
<a name="l00282"></a>00282 <span class="keyword"></span>{
<a name="l00283"></a>00283   <span class="keywordflow">return</span> <a class="code" href="classhippodraw_1_1FunctionProjector.html#a1803857d16b082f0bb754fc9216b6f6a" title="Dummy member so getZLabel member can return reference.">m_z_label</a>;
<a name="l00284"></a>00284 }
<a name="l00285"></a>00285 
<a name="l00286"></a><a class="code" href="classhippodraw_1_1FunctionProjector.html#ab8990698c3ce06c084cdfc0a0345c316">00286</a> <span class="keywordtype">void</span> <a class="code" href="classhippodraw_1_1FunctionProjector.html#ab8990698c3ce06c084cdfc0a0345c316" title="Function to add the acceptable point reps.">FunctionProjector::addPointReps</a>()
<a name="l00287"></a>00287 {
<a name="l00288"></a>00288 }
<a name="l00289"></a>00289 
<a name="l00290"></a>00290 <span class="keywordtype">bool</span>
<a name="l00291"></a>00291 <a class="code" href="classhippodraw_1_1FunctionProjector.html#a479432127ee77145cc19d6a2d1590821" title="Implements ProjectorBase.">FunctionProjector::</a>
<a name="l00292"></a><a class="code" href="classhippodraw_1_1FunctionProjector.html#a479432127ee77145cc19d6a2d1590821">00292</a> <a class="code" href="classhippodraw_1_1FunctionProjector.html#a479432127ee77145cc19d6a2d1590821" title="Implements ProjectorBase.">isEmpty</a> ()<span class="keyword"> const</span>
<a name="l00293"></a>00293 <span class="keyword"></span>{
<a name="l00294"></a>00294   <span class="keywordflow">return</span> <a class="code" href="classhippodraw_1_1FunctionProjector.html#a8dc0ee286cf84b5835db9b75cb771cf4" title="The list of function objects to be projected.">m_function</a> == 0;
<a name="l00295"></a>00295 }
<a name="l00296"></a>00296 
<a name="l00297"></a><a class="code" href="classhippodraw_1_1FunctionProjector.html#aa29bd1eeebfc189fafbbab2c7507e81f">00297</a> <span class="keywordtype">void</span> <a class="code" href="classhippodraw_1_1FunctionProjector.html#aa29bd1eeebfc189fafbbab2c7507e81f" title="Set the parameter values by hand.">FunctionProjector::setParameters</a> ( <span class="keyword">const</span> std::vector&lt;double&gt; &amp; params )
<a name="l00298"></a>00298 {
<a name="l00299"></a>00299   assert ( <a class="code" href="classhippodraw_1_1FunctionProjector.html#a8dc0ee286cf84b5835db9b75cb771cf4" title="The list of function objects to be projected.">m_function</a> != 0 );
<a name="l00300"></a>00300 
<a name="l00301"></a>00301   std::vector&lt;double&gt; myParams = <a class="code" href="classhippodraw_1_1FunctionProjector.html#a8dc0ee286cf84b5835db9b75cb771cf4" title="The list of function objects to be projected.">m_function</a>-&gt;<a class="code" href="classhippodraw_1_1FunctionBase.html#ab6d95a533aca7f862becee6eca151a68" title="Returns the values of the parameters as a vector.">getParameters</a>();
<a name="l00302"></a>00302 
<a name="l00303"></a>00303   <span class="keywordflow">if</span> ( myParams.size() == params.size() ) {
<a name="l00304"></a>00304      <a class="code" href="classhippodraw_1_1FunctionProjector.html#a8dc0ee286cf84b5835db9b75cb771cf4" title="The list of function objects to be projected.">m_function</a>-&gt;<a class="code" href="classhippodraw_1_1FunctionBase.html#aec721242269c5b893d79e271e85c3f79" title="Sets the parameter values.">setParameters</a> ( params );
<a name="l00305"></a>00305      <a class="code" href="classhippodraw_1_1ProjectorBase.html#a4d656a5b47b5582bfdd5aa98a11f5aff" title="Sets the dirty flag to value.">setDirty</a> ( <span class="keyword">true</span> );
<a name="l00306"></a>00306   }
<a name="l00307"></a>00307 }
<a name="l00308"></a>00308 
<a name="l00309"></a>00309 <span class="keyword">const</span> vector &lt; vector &lt; double &gt; &gt; &amp;
<a name="l00310"></a>00310 <a class="code" href="classhippodraw_1_1FunctionProjector.html#a904b2f7cf1514f4776109c972bd10dc6" title="Returns the covariance matrix.">FunctionProjector::</a>
<a name="l00311"></a><a class="code" href="classhippodraw_1_1FunctionProjector.html#a904b2f7cf1514f4776109c972bd10dc6">00311</a> <a class="code" href="classhippodraw_1_1FunctionProjector.html#a904b2f7cf1514f4776109c972bd10dc6" title="Returns the covariance matrix.">covariance</a> ( )<span class="keyword"> const</span>
<a name="l00312"></a>00312 <span class="keyword"></span>{
<a name="l00313"></a>00313   <span class="keywordflow">if</span> ( <a class="code" href="classhippodraw_1_1FunctionProjector.html#a05491a08630ec91887838561da4d878a" title="The error covariance matrix of the errors associated with the parameters of the function...">m_covariance</a>.empty () ) {
<a name="l00314"></a>00314     <a class="code" href="classhippodraw_1_1FunctionProjector.html#a8857c53b302d6fad5561f0d533b7579a" title="A fitter object for the function.">m_fitter</a> -&gt; calcCovariance ( <a class="code" href="classhippodraw_1_1FunctionProjector.html#a05491a08630ec91887838561da4d878a" title="The error covariance matrix of the errors associated with the parameters of the function...">m_covariance</a> );
<a name="l00315"></a>00315   }
<a name="l00316"></a>00316 
<a name="l00317"></a>00317   <span class="keywordflow">return</span> <a class="code" href="classhippodraw_1_1FunctionProjector.html#a05491a08630ec91887838561da4d878a" title="The error covariance matrix of the errors associated with the parameters of the function...">m_covariance</a>;
<a name="l00318"></a>00318 }
<a name="l00319"></a>00319 
<a name="l00320"></a>00320 <a class="code" href="classhippodraw_1_1DataSource.html" title="Base class for DataSource.">DataSource</a> *
<a name="l00321"></a>00321 <a class="code" href="classhippodraw_1_1FunctionProjector.html#ae87950e837c6c9da2d59e58ff991384f" title="Returns a null pointer.">FunctionProjector::</a>
<a name="l00322"></a><a class="code" href="classhippodraw_1_1FunctionProjector.html#ae87950e837c6c9da2d59e58ff991384f">00322</a> <a class="code" href="classhippodraw_1_1FunctionProjector.html#ae87950e837c6c9da2d59e58ff991384f" title="Returns a null pointer.">createNTuple</a> ()<span class="keyword"> const</span>
<a name="l00323"></a>00323 <span class="keyword"></span>{
<a name="l00324"></a>00324   <span class="comment">// does nothing</span>
<a name="l00325"></a>00325   <span class="keywordflow">return</span> 0;
<a name="l00326"></a>00326 }
<a name="l00327"></a>00327 
<a name="l00328"></a>00328 <span class="keywordtype">void</span>
<a name="l00329"></a>00329 <a class="code" href="classhippodraw_1_1FunctionProjector.html#ab230897ad265a7dfe15e2d5e263bbd65" title="Does nothing.">FunctionProjector::</a>
<a name="l00330"></a><a class="code" href="classhippodraw_1_1FunctionProjector.html#ab230897ad265a7dfe15e2d5e263bbd65">00330</a> <a class="code" href="classhippodraw_1_1FunctionProjector.html#ab230897ad265a7dfe15e2d5e263bbd65" title="Does nothing.">fillProjectedValues</a> ( <a class="code" href="classhippodraw_1_1DataSource.html" title="Base class for DataSource.">DataSource</a> *, <span class="keywordtype">bool</span> )<span class="keyword"> const</span>
<a name="l00331"></a>00331 <span class="keyword"></span>{
<a name="l00332"></a>00332   <span class="comment">// does nothing.</span>
<a name="l00333"></a>00333 }
<a name="l00334"></a>00334 
<a name="l00335"></a>00335 <span class="keywordtype">void</span>
<a name="l00336"></a>00336 <a class="code" href="classhippodraw_1_1FunctionProjector.html#af6777101133629cf4ec9665cb87692bf" title="Sets the cut to limit range of fitting.">FunctionProjector::</a>
<a name="l00337"></a><a class="code" href="classhippodraw_1_1FunctionProjector.html#af6777101133629cf4ec9665cb87692bf">00337</a> <a class="code" href="classhippodraw_1_1FunctionProjector.html#af6777101133629cf4ec9665cb87692bf" title="Sets the cut to limit range of fitting.">setFitCut</a> ( <a class="code" href="classhippodraw_1_1TupleCut.html" title="The class expresses a cut on a DataSource, i.e.">TupleCut</a> * cut )
<a name="l00338"></a>00338 {
<a name="l00339"></a>00339   <a class="code" href="classhippodraw_1_1FunctionProjector.html#a8857c53b302d6fad5561f0d533b7579a" title="A fitter object for the function.">m_fitter</a> -&gt; <a class="code" href="classhippodraw_1_1FunctionProjector.html#af6777101133629cf4ec9665cb87692bf" title="Sets the cut to limit range of fitting.">setFitCut</a> ( cut );
<a name="l00340"></a>00340 }
<a name="l00341"></a>00341 
<a name="l00342"></a>00342 <span class="keywordtype">void</span>
<a name="l00343"></a>00343 <a class="code" href="classhippodraw_1_1FunctionProjector.html#ae9ffca067177b475c7b4d334a9e0ecec" title="Sets use of a fitting range on or off.">FunctionProjector::</a>
<a name="l00344"></a><a class="code" href="classhippodraw_1_1FunctionProjector.html#ae9ffca067177b475c7b4d334a9e0ecec">00344</a> <a class="code" href="classhippodraw_1_1FunctionProjector.html#ae9ffca067177b475c7b4d334a9e0ecec" title="Sets use of a fitting range on or off.">setFitRange</a> ( <span class="keywordtype">bool</span> yes )
<a name="l00345"></a>00345 {
<a name="l00346"></a>00346   <a class="code" href="classhippodraw_1_1FunctionProjector.html#a8857c53b302d6fad5561f0d533b7579a" title="A fitter object for the function.">m_fitter</a> -&gt; <a class="code" href="classhippodraw_1_1FunctionProjector.html#ae9ffca067177b475c7b4d334a9e0ecec" title="Sets use of a fitting range on or off.">setFitRange</a> ( yes );
<a name="l00347"></a>00347 }
</pre></div></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>