TIndexTable
class description - source file - inheritance tree (.pdf)
protected:
static TTableDescriptor* CreateDescriptor()
virtual TTableDescriptor* GetDescriptorPointer() const
virtual void SetDescriptorPointer(TTableDescriptor* list)
public:
TIndexTable(const TTable* table)
TIndexTable(const TIndexTable& indx)
TIndexTable()
TIndexTable(const Text_t* name)
TIndexTable(Int_t n)
TIndexTable(const Text_t* name, Int_t n)
virtual ~TIndexTable()
TIndexTable::iterator begin()
TIndexTable::iterator begin() const
static TClass* Class()
TIndexTable::iterator end()
TIndexTable::iterator end() const
int* GetTable(Int_t i = 0)
const int* GetTable(Int_t i = 0) const
virtual TClass* IsA() const
Bool_t IsValid() const
int& operator[](Int_t i)
const int& operator[](Int_t i) const
void push_back(Long_t next)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
const TTable* Table() const
protected:
const TTable* fRefTable
static TTableDescriptor* fgColDescriptors
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);
}
}
}
___________________________________________________________________
void Dictionary()
TIndexTable(const TTable *table):TTable("Index",-1), fRefTable(table)
TTableDescriptor* CreateDescriptor()
const TTable* Table() const
Inline Functions
void ~TIndexTable()
TIndexTable TIndexTable(const TIndexTable& indx)
int* GetTable(Int_t i = 0)
Bool_t IsValid() const
void push_back(Long_t next)
TIndexTable::iterator begin()
TIndexTable::iterator begin() const
TIndexTable::iterator end()
TIndexTable::iterator end() const
TTableDescriptor* GetDescriptorPointer() const
void SetDescriptorPointer(TTableDescriptor* list)
TIndexTable TIndexTable()
TIndexTable TIndexTable(const Text_t* name)
TIndexTable TIndexTable(Int_t n)
TIndexTable TIndexTable(const Text_t* name, Int_t n)
const int* GetTable(Int_t i = 0) const
int& operator[](Int_t i)
const int& operator[](Int_t i) const
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
Author: Valery Fine(fine@bnl.gov) 01/03/2001
Last update: root/table:$Name: $:$Id: TIndexTable.cxx,v 1.3 2004/02/13 16:32:23 rdm Exp $
Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *
ROOT page - Class index - Class Hierarchy - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.