<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 Page</span></a></li> <li><a href="pages.html"><span>Related 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 List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="namespacehippodraw.html">hippodraw</a>::<a class="el" href="classhippodraw_1_1NTupleSorter.html">NTupleSorter</a> </div> </div> <div class="contents"> <h1>NTupleSorter Class Reference</h1><!-- doxytag: class="hippodraw::NTupleSorter" --> <p>A helper class to sort and keep sorted an <a class="el" href="classhippodraw_1_1NTuple.html" title="A DataSource class implemented with std::vector<double> to store the column...">NTuple</a>. <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="NTupleSorter_8h_source.html">NTupleSorter.h</a>></code></p> <div class="dynheader"> Collaboration diagram for NTupleSorter:</div> <div class="dynsection"> <div class="center"><img src="classhippodraw_1_1NTupleSorter__coll__graph.gif" border="0" usemap="#NTupleSorter_coll__map" alt="Collaboration graph"/></div> <map name="NTupleSorter_coll__map" id="NTupleSorter_coll__map"> <area shape="rect" id="node6" href="classhippodraw_1_1NTuple.html" title="A DataSource class implemented with std::vector<double> to store the column..." alt="" coords="264,507,328,536"/><area shape="rect" id="node8" href="classhippodraw_1_1DataSource.html" title="Base class for DataSource." alt="" coords="357,411,448,440"/><area shape="rect" id="node10" href="classhippodraw_1_1Observable.html" title="Part of an implementation of the Observable-Observer pattern based on the example..." alt="" coords="267,296,355,325"/><area shape="rect" id="node14" href="classhippodraw_1_1Observer.html" title="Part of an implementation of the Observable Observer pattern based on the example..." alt="" coords="316,101,391,131"/><area shape="rect" id="node16" title="STL class." alt="" coords="435,101,504,131"/><area shape="rect" id="node28" title="STL class." alt="" coords="697,197,788,227"/><area shape="rect" id="node21" title="STL class." alt="" coords="579,197,632,227"/><area shape="rect" id="node23" title="STL class." alt="" coords="535,101,676,131"/></map> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> <p><a href="classhippodraw_1_1NTupleSorter-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">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1NTupleSorter.html#a55232d4408510d28a883c9f71fb61416">addRow</a> (const std::vector< double > &row)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Adds a row to the <a class="el" href="classhippodraw_1_1NTuple.html" title="A DataSource class implemented with std::vector<double> to store the column...">NTuple</a>. <a href="#a55232d4408510d28a883c9f71fb61416"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1NTupleSorter.html#ac8bb3912a3ce86b15842e79d0b421204">clear</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Clears the <a class="el" href="classhippodraw_1_1NTuple.html" title="A DataSource class implemented with std::vector<double> to store the column...">NTuple</a>. <a href="#ac8bb3912a3ce86b15842e79d0b421204"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1NTupleSorter.html#a903d6ffef3ddea0d904a5336e231b643">columns</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of columns of the <a class="el" href="classhippodraw_1_1NTuple.html" title="A DataSource class implemented with std::vector<double> to store the column...">NTuple</a>. <a href="#a903d6ffef3ddea0d904a5336e231b643"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1NTupleSorter.html#ad25d3586eb1053032c5096681d5d52ef">eraseRow</a> (unsigned int index)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Erases a row from the <a class="el" href="classhippodraw_1_1NTuple.html" title="A DataSource class implemented with std::vector<double> to store the column...">NTuple</a>. <a href="#ad25d3586eb1053032c5096681d5d52ef"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhippodraw_1_1NTuple.html">NTuple</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1NTupleSorter.html#a6d44f9b2fa2491bd838dfae2c58bac27">getNTuple</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the <a class="el" href="classhippodraw_1_1NTuple.html" title="A DataSource class implemented with std::vector<double> to store the column...">NTuple</a> being managed by the sorter. <a href="#a6d44f9b2fa2491bd838dfae2c58bac27"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const std::vector< double > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1NTupleSorter.html#ac295953ac88bc39038e4f22781577ec8">getRow</a> (unsigned int index) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns a reference to the <em>index</em> row of the sorted <a class="el" href="classhippodraw_1_1NTuple.html" title="A DataSource class implemented with std::vector<double> to store the column...">NTuple</a>. <a href="#ac295953ac88bc39038e4f22781577ec8"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1NTupleSorter.html#aa0b28aa1ba8c4b61ca602001334c168f">NTupleSorter</a> (<a class="el" href="classhippodraw_1_1NTuple.html">NTuple</a> *ntuple)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A constructor taking the <a class="el" href="classhippodraw_1_1NTuple.html" title="A DataSource class implemented with std::vector<double> to store the column...">NTuple</a> to be sorted as the parameter. <a href="#aa0b28aa1ba8c4b61ca602001334c168f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1NTupleSorter.html#a90d756c579aca9a5ad46f94adfb9f4b9">NTupleSorter</a> (const <a class="el" href="classhippodraw_1_1NTupleSorter.html">NTupleSorter</a> &)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The copy constructor. <a href="#a90d756c579aca9a5ad46f94adfb9f4b9"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1NTupleSorter.html#afbc9ed407439fc8fcb54db94c9e25ee5">operator()</a> (std::vector< double > *x, std::vector< double > *y) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A predicate function to be used for comparing two rows. <a href="#afbc9ed407439fc8fcb54db94c9e25ee5"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1NTupleSorter.html#a2b76a8f13ad489df9fa8cc9452c9012b">rows</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of rows of the <a class="el" href="classhippodraw_1_1NTuple.html" title="A DataSource class implemented with std::vector<double> to store the column...">NTuple</a>. <a href="#a2b76a8f13ad489df9fa8cc9452c9012b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1NTupleSorter.html#a97bad9f0dec44acd2d007d3fe7235f40">setSorting</a> (int column)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the sorting column. <a href="#a97bad9f0dec44acd2d007d3fe7235f40"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1NTupleSorter.html#a47fdc9eea42b6975cdc835bb2e08810e">sort</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sorts the <a class="el" href="classhippodraw_1_1NTuple.html" title="A DataSource class implemented with std::vector<double> to store the column...">NTuple</a>. <a href="#a47fdc9eea42b6975cdc835bb2e08810e"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1NTupleSorter.html#a006d8ef80fb7fd8733bef99fc4522204">~NTupleSorter</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The virtual destructor. <a href="#a006d8ef80fb7fd8733bef99fc4522204"></a><br/></td></tr> <tr><td colspan="2"><h2>Private Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhippodraw_1_1NTupleSorter.html">NTupleSorter</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1NTupleSorter.html#a5dcbd79381039e4417b3b7f421275400">operator=</a> (const <a class="el" href="classhippodraw_1_1NTupleSorter.html">NTupleSorter</a> &)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Private assignment operator to prevent copying. <a href="#a5dcbd79381039e4417b3b7f421275400"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1NTupleSorter.html#a3be3d559b60f6e179d00bda1598b066d">rowwiseCopy</a> (std::vector< std::vector< double > * > &row_copy)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Makes a row-wise copy of the <a class="el" href="classhippodraw_1_1NTuple.html" title="A DataSource class implemented with std::vector<double> to store the column...">NTuple</a> object. <a href="#a3be3d559b60f6e179d00bda1598b066d"></a><br/></td></tr> <tr><td colspan="2"><h2>Private Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1NTupleSorter.html#a10127a746e28946d9844af7213b8e742">m_column</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The column used for sorting, or -1 if sorting is disabled. <a href="#a10127a746e28946d9844af7213b8e742"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1NTupleSorter.html#a604040ff73b42c920f956d8500b9ec9c">m_increasing</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The direction of the sort. <a href="#a604040ff73b42c920f956d8500b9ec9c"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhippodraw_1_1NTuple.html">NTuple</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1NTupleSorter.html#ae963c6d828c76ea09f77a3c974b52a11">m_ntuple</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="classhippodraw_1_1NTuple.html" title="A DataSource class implemented with std::vector<double> to store the column...">NTuple</a> object that will be used. <a href="#ae963c6d828c76ea09f77a3c974b52a11"></a><br/></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>A helper class to sort and keep sorted an <a class="el" href="classhippodraw_1_1NTuple.html" title="A DataSource class implemented with std::vector<double> to store the column...">NTuple</a>. </p> <p>A class to maintain a sorted <a class="el" href="classhippodraw_1_1NTuple.html" title="A DataSource class implemented with std::vector<double> to store the column...">NTuple</a>. Sorting is done by the value of elements in the selected column.</p> <dl class="author"><dt><b>Author:</b></dt><dd>Paul F. Kunz <<a href="mailto:Paul_Kunz@slac.stanford.edu">Paul_Kunz@slac.stanford.edu</a>> </dd></dl> <p>Definition at line <a class="el" href="NTupleSorter_8h_source.html#l00032">32</a> of file <a class="el" href="NTupleSorter_8h_source.html">NTupleSorter.h</a>.</p> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a90d756c579aca9a5ad46f94adfb9f4b9"></a><!-- doxytag: member="hippodraw::NTupleSorter::NTupleSorter" ref="a90d756c579aca9a5ad46f94adfb9f4b9" args="(const NTupleSorter &)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classhippodraw_1_1NTupleSorter.html">NTupleSorter</a> </td> <td>(</td> <td class="paramtype">const <a class="el" href="classhippodraw_1_1NTupleSorter.html">NTupleSorter</a> & </td> <td class="paramname"> <em>sorter</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>The copy constructor. </p> <p>Initializes the newly constructed object with save value of the data members except for m_ntuple which is set to null pointer. It is intended that the copy only be used as predicate to the STL sort function. </p> <p>Definition at line <a class="el" href="NTupleSorter_8cxx_source.html#l00037">37</a> of file <a class="el" href="NTupleSorter_8cxx_source.html">NTupleSorter.cxx</a>.</p> </div> </div> <a class="anchor" id="aa0b28aa1ba8c4b61ca602001334c168f"></a><!-- doxytag: member="hippodraw::NTupleSorter::NTupleSorter" ref="aa0b28aa1ba8c4b61ca602001334c168f" args="(NTuple *ntuple)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classhippodraw_1_1NTupleSorter.html">NTupleSorter</a> </td> <td>(</td> <td class="paramtype"><a class="el" href="classhippodraw_1_1NTuple.html">NTuple</a> * </td> <td class="paramname"> <em>ntuple</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>A constructor taking the <a class="el" href="classhippodraw_1_1NTuple.html" title="A DataSource class implemented with std::vector<double> to store the column...">NTuple</a> to be sorted as the parameter. </p> <p>Constructs the object and initialize it to sort column 0 in increasing order. Does not sort the NTuple object. </p> <p>Definition at line <a class="el" href="NTupleSorter_8cxx_source.html#l00029">29</a> of file <a class="el" href="NTupleSorter_8cxx_source.html">NTupleSorter.cxx</a>.</p> </div> </div> <a class="anchor" id="a006d8ef80fb7fd8733bef99fc4522204"></a><!-- doxytag: member="hippodraw::NTupleSorter::~NTupleSorter" ref="a006d8ef80fb7fd8733bef99fc4522204" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual ~<a class="el" href="classhippodraw_1_1NTupleSorter.html">NTupleSorter</a> </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>The virtual destructor. </p> <p>The virtual distructor which is needed only to avoid warning from some compilers such as Gcc 4.0.0. </p> <p>Definition at line <a class="el" href="NTupleSorter_8h_source.html#l00077">77</a> of file <a class="el" href="NTupleSorter_8h_source.html">NTupleSorter.h</a>.</p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a55232d4408510d28a883c9f71fb61416"></a><!-- doxytag: member="hippodraw::NTupleSorter::addRow" ref="a55232d4408510d28a883c9f71fb61416" args="(const std::vector< double > &row)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void addRow </td> <td>(</td> <td class="paramtype">const std::vector< double > & </td> <td class="paramname"> <em>row</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Adds a row to the <a class="el" href="classhippodraw_1_1NTuple.html" title="A DataSource class implemented with std::vector<double> to store the column...">NTuple</a>. </p> <p>Adds a row to the <a class="el" href="classhippodraw_1_1NTuple.html" title="A DataSource class implemented with std::vector<double> to store the column...">NTuple</a> object. Maintains the sorted order with the current sorting column and its direction.</p> <dl class="note"><dt><b>Note:</b></dt><dd>The implementation of this function has some fine examples of the use of STL template functions from <b>algorithm</b>, <b>functional</b>, and <b>iterator</b>. However, workarounds may be needed for compilers weak in the handling of templates. </dd></dl> <p>Definition at line <a class="el" href="NTupleSorter_8cxx_source.html#l00117">117</a> of file <a class="el" href="NTupleSorter_8cxx_source.html">NTupleSorter.cxx</a>.</p> <p>References <a class="el" href="NTuple_8cxx_source.html#l00492">NTuple::getColumn()</a>, <a class="el" href="NTuple_8cxx_source.html#l00280">NTuple::insertRow()</a>, <a class="el" href="NTupleSorter_8h_source.html#l00043">NTupleSorter::m_column</a>, <a class="el" href="NTupleSorter_8h_source.html#l00047">NTupleSorter::m_increasing</a>, and <a class="el" href="NTupleSorter_8h_source.html#l00051">NTupleSorter::m_ntuple</a>.</p> <p>Referenced by <a class="el" href="NTupleSorter_8cxx_source.html#l00090">NTupleSorter::sort()</a>.</p> </div> </div> <a class="anchor" id="ac8bb3912a3ce86b15842e79d0b421204"></a><!-- doxytag: member="hippodraw::NTupleSorter::clear" ref="ac8bb3912a3ce86b15842e79d0b421204" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void clear </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Clears the <a class="el" href="classhippodraw_1_1NTuple.html" title="A DataSource class implemented with std::vector<double> to store the column...">NTuple</a>. </p> <p>Definition at line <a class="el" href="NTupleSorter_8cxx_source.html#l00110">110</a> of file <a class="el" href="NTupleSorter_8cxx_source.html">NTupleSorter.cxx</a>.</p> <p>References <a class="el" href="NTuple_8cxx_source.html#l00211">NTuple::clear()</a>, and <a class="el" href="NTupleSorter_8h_source.html#l00051">NTupleSorter::m_ntuple</a>.</p> <p>Referenced by <a class="el" href="PickTable_8cxx_source.html#l00112">PickTable::clear()</a>, and <a class="el" href="NTupleSorter_8cxx_source.html#l00090">NTupleSorter::sort()</a>.</p> </div> </div> <a class="anchor" id="a903d6ffef3ddea0d904a5336e231b643"></a><!-- doxytag: member="hippodraw::NTupleSorter::columns" ref="a903d6ffef3ddea0d904a5336e231b643" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned int columns </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Returns the number of columns of the <a class="el" href="classhippodraw_1_1NTuple.html" title="A DataSource class implemented with std::vector<double> to store the column...">NTuple</a>. </p> <p>Definition at line <a class="el" href="NTupleSorter_8cxx_source.html#l00145">145</a> of file <a class="el" href="NTupleSorter_8cxx_source.html">NTupleSorter.cxx</a>.</p> <p>References <a class="el" href="DataSource_8h_source.html#l00458">DataSource::columns()</a>, and <a class="el" href="NTupleSorter_8h_source.html#l00051">NTupleSorter::m_ntuple</a>.</p> </div> </div> <a class="anchor" id="ad25d3586eb1053032c5096681d5d52ef"></a><!-- doxytag: member="hippodraw::NTupleSorter::eraseRow" ref="ad25d3586eb1053032c5096681d5d52ef" args="(unsigned int index)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void eraseRow </td> <td>(</td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>index</em></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Erases a row from the <a class="el" href="classhippodraw_1_1NTuple.html" title="A DataSource class implemented with std::vector<double> to store the column...">NTuple</a>. </p> <p>Removes the row <em>index</em> from the NTuple. </p> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classhippodraw_1_1NTuple.html#ad25d3586eb1053032c5096681d5d52ef" title="Erases a row from the NTuple.">NTuple::eraseRow</a>. </dd></dl> <p>Definition at line <a class="el" href="NTupleSorter_8cxx_source.html#l00138">138</a> of file <a class="el" href="NTupleSorter_8cxx_source.html">NTupleSorter.cxx</a>.</p> <p>References <a class="el" href="NTupleSorter_8h_source.html#l00051">NTupleSorter::m_ntuple</a>.</p> <p>Referenced by <a class="el" href="PickTable_8cxx_source.html#l00185">PickTable::deleteSelectedItem()</a>.</p> </div> </div> <a class="anchor" id="a6d44f9b2fa2491bd838dfae2c58bac27"></a><!-- doxytag: member="hippodraw::NTupleSorter::getNTuple" ref="a6d44f9b2fa2491bd838dfae2c58bac27" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classhippodraw_1_1NTuple.html">NTuple</a> * getNTuple </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Returns the <a class="el" href="classhippodraw_1_1NTuple.html" title="A DataSource class implemented with std::vector<double> to store the column...">NTuple</a> being managed by the sorter. </p> <p>Definition at line <a class="el" href="NTupleSorter_8cxx_source.html#l00046">46</a> of file <a class="el" href="NTupleSorter_8cxx_source.html">NTupleSorter.cxx</a>.</p> <p>References <a class="el" href="NTupleSorter_8h_source.html#l00051">NTupleSorter::m_ntuple</a>.</p> </div> </div> <a class="anchor" id="ac295953ac88bc39038e4f22781577ec8"></a><!-- doxytag: member="hippodraw::NTupleSorter::getRow" ref="ac295953ac88bc39038e4f22781577ec8" args="(unsigned int index) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const vector< double > & getRow </td> <td>(</td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>index</em></td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Returns a reference to the <em>index</em> row of the sorted <a class="el" href="classhippodraw_1_1NTuple.html" title="A DataSource class implemented with std::vector<double> to store the column...">NTuple</a>. </p> <p>Definition at line <a class="el" href="NTupleSorter_8cxx_source.html#l00159">159</a> of file <a class="el" href="NTupleSorter_8cxx_source.html">NTupleSorter.cxx</a>.</p> <p>References <a class="el" href="NTuple_8cxx_source.html#l00327">NTuple::getRow()</a>, and <a class="el" href="NTupleSorter_8h_source.html#l00051">NTupleSorter::m_ntuple</a>.</p> <p>Referenced by <a class="el" href="PickTable_8cxx_source.html#l00131">PickTable::refreshItems()</a>, and <a class="el" href="NTupleSorter_8cxx_source.html#l00065">NTupleSorter::rowwiseCopy()</a>.</p> </div> </div> <a class="anchor" id="afbc9ed407439fc8fcb54db94c9e25ee5"></a><!-- doxytag: member="hippodraw::NTupleSorter::operator()" ref="afbc9ed407439fc8fcb54db94c9e25ee5" args="(std::vector< double > *x, std::vector< double > *y) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool operator() </td> <td>(</td> <td class="paramtype">std::vector< double > * </td> <td class="paramname"> <em>x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">std::vector< double > * </td> <td class="paramname"> <em>y</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const</td> </tr> </table> </div> <div class="memdoc"> <p>A predicate function to be used for comparing two rows. </p> <p>Returns <code>true</code> if the element of the column used for sorting of row <em>x</em> is less than the element of row <em>y</em>. </p> <p>Definition at line <a class="el" href="NTupleSorter_8cxx_source.html#l00079">79</a> of file <a class="el" href="NTupleSorter_8cxx_source.html">NTupleSorter.cxx</a>.</p> <p>References <a class="el" href="NTupleSorter_8h_source.html#l00043">NTupleSorter::m_column</a>, and <a class="el" href="NTupleSorter_8h_source.html#l00047">NTupleSorter::m_increasing</a>.</p> </div> </div> <a class="anchor" id="a5dcbd79381039e4417b3b7f421275400"></a><!-- doxytag: member="hippodraw::NTupleSorter::operator=" ref="a5dcbd79381039e4417b3b7f421275400" args="(const NTupleSorter &)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classhippodraw_1_1NTupleSorter.html">NTupleSorter</a>& operator= </td> <td>(</td> <td class="paramtype">const <a class="el" href="classhippodraw_1_1NTupleSorter.html">NTupleSorter</a> & </td> <td class="paramname"></td> <td> ) </td> <td><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Private assignment operator to prevent copying. </p> </div> </div> <a class="anchor" id="a2b76a8f13ad489df9fa8cc9452c9012b"></a><!-- doxytag: member="hippodraw::NTupleSorter::rows" ref="a2b76a8f13ad489df9fa8cc9452c9012b" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned int rows </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Returns the number of rows of the <a class="el" href="classhippodraw_1_1NTuple.html" title="A DataSource class implemented with std::vector<double> to store the column...">NTuple</a>. </p> <p>Definition at line <a class="el" href="NTupleSorter_8cxx_source.html#l00152">152</a> of file <a class="el" href="NTupleSorter_8cxx_source.html">NTupleSorter.cxx</a>.</p> <p>References <a class="el" href="NTupleSorter_8h_source.html#l00051">NTupleSorter::m_ntuple</a>, and <a class="el" href="NTuple_8cxx_source.html#l00230">NTuple::rows()</a>.</p> <p>Referenced by <a class="el" href="PickTable_8cxx_source.html#l00131">PickTable::refreshItems()</a>, and <a class="el" href="NTupleSorter_8cxx_source.html#l00065">NTupleSorter::rowwiseCopy()</a>.</p> </div> </div> <a class="anchor" id="a3be3d559b60f6e179d00bda1598b066d"></a><!-- doxytag: member="hippodraw::NTupleSorter::rowwiseCopy" ref="a3be3d559b60f6e179d00bda1598b066d" args="(std::vector< std::vector< double > * > &row_copy)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void rowwiseCopy </td> <td>(</td> <td class="paramtype">std::vector< std::vector< double > * > & </td> <td class="paramname"> <em>row_copy</em></td> <td> ) </td> <td><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Makes a row-wise copy of the <a class="el" href="classhippodraw_1_1NTuple.html" title="A DataSource class implemented with std::vector<double> to store the column...">NTuple</a> object. </p> <p>Clears the vector <em>row_copy</em> and fills it with a pointers to vectors containing the elements of each row. </p> <p>Definition at line <a class="el" href="NTupleSorter_8cxx_source.html#l00065">65</a> of file <a class="el" href="NTupleSorter_8cxx_source.html">NTupleSorter.cxx</a>.</p> <p>References <a class="el" href="NTupleSorter_8cxx_source.html#l00159">NTupleSorter::getRow()</a>, <a class="el" href="NTupleSorter_8h_source.html#l00051">NTupleSorter::m_ntuple</a>, and <a class="el" href="NTupleSorter_8cxx_source.html#l00152">NTupleSorter::rows()</a>.</p> <p>Referenced by <a class="el" href="NTupleSorter_8cxx_source.html#l00090">NTupleSorter::sort()</a>.</p> </div> </div> <a class="anchor" id="a97bad9f0dec44acd2d007d3fe7235f40"></a><!-- doxytag: member="hippodraw::NTupleSorter::setSorting" ref="a97bad9f0dec44acd2d007d3fe7235f40" args="(int column)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void setSorting </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>column</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Sets the sorting column. </p> <p>Sets the sorting column and resets the direction. If <em>column</em> is different from the current one, sets the sorting direction to be increasing. If <em>column</em> is the same as previously used, toggles the sorting direction to be the opposite of the current state. </p> <p>Definition at line <a class="el" href="NTupleSorter_8cxx_source.html#l00053">53</a> of file <a class="el" href="NTupleSorter_8cxx_source.html">NTupleSorter.cxx</a>.</p> <p>References <a class="el" href="NTupleSorter_8h_source.html#l00043">NTupleSorter::m_column</a>, and <a class="el" href="NTupleSorter_8h_source.html#l00047">NTupleSorter::m_increasing</a>.</p> </div> </div> <a class="anchor" id="a47fdc9eea42b6975cdc835bb2e08810e"></a><!-- doxytag: member="hippodraw::NTupleSorter::sort" ref="a47fdc9eea42b6975cdc835bb2e08810e" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void sort </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Sorts the <a class="el" href="classhippodraw_1_1NTuple.html" title="A DataSource class implemented with std::vector<double> to store the column...">NTuple</a>. </p> <p>Definition at line <a class="el" href="NTupleSorter_8cxx_source.html#l00090">90</a> of file <a class="el" href="NTupleSorter_8cxx_source.html">NTupleSorter.cxx</a>.</p> <p>References <a class="el" href="NTupleSorter_8cxx_source.html#l00117">NTupleSorter::addRow()</a>, <a class="el" href="NTupleSorter_8cxx_source.html#l00110">NTupleSorter::clear()</a>, <a class="el" href="NTupleSorter_8h_source.html#l00051">NTupleSorter::m_ntuple</a>, <a class="el" href="NTuple_8cxx_source.html#l00573">NTuple::notifyObservers()</a>, and <a class="el" href="NTupleSorter_8cxx_source.html#l00065">NTupleSorter::rowwiseCopy()</a>.</p> <p>Referenced by <a class="el" href="ContourPointRep_8cxx_source.html#l00762">ContourPointRep::drawProjectedValues()</a>.</p> </div> </div> <hr/><h2>Member Data Documentation</h2> <a class="anchor" id="a10127a746e28946d9844af7213b8e742"></a><!-- doxytag: member="hippodraw::NTupleSorter::m_column" ref="a10127a746e28946d9844af7213b8e742" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int <a class="el" href="classhippodraw_1_1NTupleSorter.html#a10127a746e28946d9844af7213b8e742">m_column</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>The column used for sorting, or -1 if sorting is disabled. </p> <p>Definition at line <a class="el" href="NTupleSorter_8h_source.html#l00043">43</a> of file <a class="el" href="NTupleSorter_8h_source.html">NTupleSorter.h</a>.</p> <p>Referenced by <a class="el" href="NTupleSorter_8cxx_source.html#l00117">NTupleSorter::addRow()</a>, <a class="el" href="NTupleSorter_8cxx_source.html#l00079">NTupleSorter::operator()()</a>, and <a class="el" href="NTupleSorter_8cxx_source.html#l00053">NTupleSorter::setSorting()</a>.</p> </div> </div> <a class="anchor" id="a604040ff73b42c920f956d8500b9ec9c"></a><!-- doxytag: member="hippodraw::NTupleSorter::m_increasing" ref="a604040ff73b42c920f956d8500b9ec9c" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="classhippodraw_1_1NTupleSorter.html#a604040ff73b42c920f956d8500b9ec9c">m_increasing</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>The direction of the sort. </p> <p>Definition at line <a class="el" href="NTupleSorter_8h_source.html#l00047">47</a> of file <a class="el" href="NTupleSorter_8h_source.html">NTupleSorter.h</a>.</p> <p>Referenced by <a class="el" href="NTupleSorter_8cxx_source.html#l00117">NTupleSorter::addRow()</a>, <a class="el" href="NTupleSorter_8cxx_source.html#l00079">NTupleSorter::operator()()</a>, and <a class="el" href="NTupleSorter_8cxx_source.html#l00053">NTupleSorter::setSorting()</a>.</p> </div> </div> <a class="anchor" id="ae963c6d828c76ea09f77a3c974b52a11"></a><!-- doxytag: member="hippodraw::NTupleSorter::m_ntuple" ref="ae963c6d828c76ea09f77a3c974b52a11" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classhippodraw_1_1NTuple.html">NTuple</a>* <a class="el" href="classhippodraw_1_1NTupleSorter.html#ae963c6d828c76ea09f77a3c974b52a11">m_ntuple</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>The <a class="el" href="classhippodraw_1_1NTuple.html" title="A DataSource class implemented with std::vector<double> to store the column...">NTuple</a> object that will be used. </p> <p>Definition at line <a class="el" href="NTupleSorter_8h_source.html#l00051">51</a> of file <a class="el" href="NTupleSorter_8h_source.html">NTupleSorter.h</a>.</p> <p>Referenced by <a class="el" href="NTupleSorter_8cxx_source.html#l00117">NTupleSorter::addRow()</a>, <a class="el" href="NTupleSorter_8cxx_source.html#l00110">NTupleSorter::clear()</a>, <a class="el" href="NTupleSorter_8cxx_source.html#l00145">NTupleSorter::columns()</a>, <a class="el" href="NTupleSorter_8cxx_source.html#l00138">NTupleSorter::eraseRow()</a>, <a class="el" href="NTupleSorter_8cxx_source.html#l00046">NTupleSorter::getNTuple()</a>, <a class="el" href="NTupleSorter_8cxx_source.html#l00159">NTupleSorter::getRow()</a>, <a class="el" href="NTupleSorter_8cxx_source.html#l00152">NTupleSorter::rows()</a>, <a class="el" href="NTupleSorter_8cxx_source.html#l00065">NTupleSorter::rowwiseCopy()</a>, and <a class="el" href="NTupleSorter_8cxx_source.html#l00090">NTupleSorter::sort()</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following files:<ul> <li><a class="el" href="NTupleSorter_8h_source.html">NTupleSorter.h</a></li> <li><a class="el" href="NTupleSorter_8cxx_source.html">NTupleSorter.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>