Holds pointers to a set of Fit_Result objects, resulting from different jet permutation with some consistent selection. The results are ordered by increasing values. A maximum length for the list of Fit_Result objects may be specified; when new results, those with the largest value fall off the end. More...
#include <Fit_Result_Vec.h>
Public Member Functions | |
Fit_Result_Vec (std::vector< Fit_Result * >::size_type max_len) | |
Constructor. | |
Fit_Result_Vec (const Fit_Result_Vec &vec) | |
Copy constructor. | |
Fit_Result_Vec & | operator= (const Fit_Result_Vec &vec) |
Assignment operator. | |
const Fit_Result & | operator[] (std::vector< Fit_Result * >::size_type i) const |
Return the i-th element of the Fit_Result objects in the vector. | |
void | push (Fit_Result *res) |
Add a new Fit_Result to the list. | |
std::vector< Fit_Result * > ::size_type | size () const |
Return the number of Fit_Result objects in the list. | |
~Fit_Result_Vec () | |
Destructor. | |
Private Attributes | |
std::vector< Fit_Result * > ::size_type | _max_len |
std::vector< Fit_Result * > | _v |
Friends | |
std::ostream & | operator<< (std::ostream &s, const Fit_Result_Vec &resvec) |
Output stream operator, print the content of this Fit_Result_Vec to an output stream. |
Holds pointers to a set of Fit_Result objects, resulting from different jet permutation with some consistent selection. The results are ordered by increasing values. A maximum length for the list of Fit_Result objects may be specified; when new results, those with the largest value fall off the end.
The Fit_Result object are reference counted, in order to allow then to be entered in multiple vectors.
Definition at line 71 of file Fit_Result_Vec.h.
hitfit::Fit_Result_Vec::Fit_Result_Vec | ( | std::vector< Fit_Result * >::size_type | max_len | ) |
Constructor.
max_len | The maximum length of the list. Must be a positive integer. |
Definition at line 52 of file Fit_Result_Vec.cc.
References _v.
hitfit::Fit_Result_Vec::~Fit_Result_Vec | ( | ) |
hitfit::Fit_Result_Vec::Fit_Result_Vec | ( | const Fit_Result_Vec & | vec | ) |
Fit_Result_Vec & hitfit::Fit_Result_Vec::operator= | ( | const Fit_Result_Vec & | vec | ) |
Assignment operator.
vec | The list to copy. |
Definition at line 92 of file Fit_Result_Vec.cc.
const Fit_Result & hitfit::Fit_Result_Vec::operator[] | ( | std::vector< Fit_Result * >::size_type | i | ) | const |
Return the i-th element of the Fit_Result objects in the vector.
i | The index of the desired Fit_Result object. |
Definition at line 125 of file Fit_Result_Vec.cc.
References i.
void hitfit::Fit_Result_Vec::push | ( | Fit_Result * | res | ) |
Add a new Fit_Result to the list.
res | The new Fit_Result object to be added into the list of Fit_Result object. |
Definition at line 159 of file Fit_Result_Vec.cc.
References _max_len, _v, and hitfit::Refcount::incref().
{ // Find where to add it. vector<Fit_Result*>::iterator it = lower_bound (_v.begin(), _v.end(), res, Compare_Fitresptr()); // Insert it. _v.insert (it, res); res->incref (); // Knock off the guy at the end if we've exceeded our maximum size. if (_v.size() > _max_len) { _v.back()->decref (); _v.erase (_v.end()-1); } }
std::vector< Fit_Result * >::size_type hitfit::Fit_Result_Vec::size | ( | void | ) | const |
Return the number of Fit_Result objects in the list.
Definition at line 113 of file Fit_Result_Vec.cc.
References _v.
{ return _v.size (); }
std::ostream& operator<< | ( | std::ostream & | s, |
const Fit_Result_Vec & | resvec | ||
) | [friend] |
Output stream operator, print the content of this Fit_Result_Vec to an output stream.
s | The output stream to which to write. |
resvec | The instance of Fit_Result_Vec to be printed. |
Definition at line 193 of file Fit_Result_Vec.cc.
std::vector<Fit_Result*>::size_type hitfit::Fit_Result_Vec::_max_len [private] |
Maximum number of Fit_Result pointers in the list.
Definition at line 143 of file Fit_Result_Vec.h.
Referenced by operator=(), and push().
std::vector<Fit_Result*> hitfit::Fit_Result_Vec::_v [private] |
The list of Fit_Result pointers.
Definition at line 138 of file Fit_Result_Vec.h.
Referenced by Fit_Result_Vec(), hitfit::operator<<(), operator=(), push(), size(), and ~Fit_Result_Vec().