#pragma interface #ifndef HINDEXTABLE_H #define HINDEXTABLE_H #include "TObject.h" #include "TArrayI.h" #include "hlocation.h" #include "TBuffer.h" class HPairListI : public TObject { private: Int_t fCapacity; Int_t fN; UInt_t *fArray[2]; public: HPairListI(void) {fCapacity=0; fN=0; fArray[0]=fArray[1]=0;} ~HPairListI(void) { if (fCapacity>0) {delete[] fArray[0]; delete[] fArray[1];} } void setCapacity(Int_t n); void add(UInt_t i1,UInt_t i2) { #if DEBUG_LEVEL==1 if (fN= fIndexArray.fN)?-1:fIndexArray.fArray[linAddr]; } void setIndex(Int_t linAddr,Int_t idx) { fIndexArray[linAddr]=idx; fCompactTable.add(linAddr,idx); } Int_t getEntries(void) { return fIndexArray.fN; } Bool_t checkLocation(HLocation &aLoc); Int_t gotoLocation(HLocation &aLoc); Int_t gotoBegin(void); Int_t next(void); void Clear(Option_t *opt=""); HPairListI* getCompactTable(void) {return &fCompactTable;} ClassDef(HIndexTable,2) //Utility class handling an index table. }; #endif /* !HINDEXTABLE_H */