TIndexTable class is helper class to keep the list of the referencs to the TTable rows and iterate over it. TIndexTable is a persistent class. The pointer to the TIndexTable object may be used as an element of the TTable row and saved with the table all together. For example, the track table may contain a member to the "map" of the hits struct { float helix; TIndexTable *hits; } tracks_t; // Create track table: LArTrackTable *tracks = new LArTrackTable(...); // Get pointer to the hit table LArHitTable *hits = GiveMeHits(); // Loop over all tracks LArTrackTable::iterator track = tracks->begin(); LArTrackTable::iterator last = tracks->end(); for (;track != last;track++) { // Find all hits of this track LArHitTable::iterator hit = hits->begin(); LArHitTable::iterator lastHit = hits->end(); Long_t hitIndx = 0; // Create an empty list of this track hits (*track).hits = new TIndexTable(hits); for(;hit != lastHit;hit++,hitIndx) { if (IsMyHit(*hit)) { // add this hit index to the current track (*track).hits->push_back(hitIndx); } } }
~iterator() | |
TIndexTable::iterator | iterator(const TTable& t) |
TIndexTable::iterator | iterator(const TIndexTable::iterator& iter) |
TIndexTable::iterator | iterator(const TTable& t, const int& rowPtr) |
int | operator int() |
Bool_t | operator!=(const TIndexTable::iterator& t) const |
void* | operator*() |
TIndexTable::iterator& | operator+(Int_t idx) |
TIndexTable::iterator& | operator++() |
void | operator++(int) |
TIndexTable::iterator& | operator-(Int_t idx) |
Int_t | operator-(const TIndexTable::iterator& it) const |
TIndexTable::iterator& | operator--() |
void | operator--(int) |
TIndexTable::iterator& | operator=(const TIndexTable::iterator& iter) |
Bool_t | operator==(const TIndexTable::iterator& t) const |
TIndexTable::iterator | iterator() |
const int* | fCurrentRow | |
const TTable* | fTable |
{fTable = iter.fTable; fCurrentRow = iter.fCurrentRow; return *this;}