Used by TEntryList to store the entry numbers.
Int_t fLastIndexQueried
! to optimize GetEntry() in a loop
void OptimizeStorage()
If there are < kBlockSize or >kBlockSize*15 entries, change to an array representation.
bool Remove(Int_t entry)
Remove entry #entry If the block has already been optimized and the entries are stored as a list and ...
Int_t Next()
Return the next non-zero entry Faster than GetEntry() function.
TEntryListBlock & operator=(const TEntryListBlock &rhs)
Int_t fNPassed
number of entries in the entry list (if fPassing=0 - number of entries not in the entry list
bool Enter(Int_t entry)
If the block has already been optimized and the entries are stored as a list and not as bits,...
bool fPassing
1 - stores entries that belong to the list 0 - stores entries that don't belong to the list
Int_t GetNPassed()
Returns the number of entries, passing the selection.
void Transform(bool dir, UShort_t *indexnew)
Transform the existing fIndices.
void PrintWithShift(Int_t shift) const
Print the indices of this block + shift (used from TEntryList::Print()) to print the current values.
~TEntryListBlock() override
Destructor.
Int_t fN
size of fIndices for I/O =fNPassed for list, fBlockSize for bits
Int_t fLastIndexReturned
! to optimize GetEntry() in a loop
UShort_t fCurrent
! to fasten Contains() in list mode
Int_t Contains(Int_t entry)
True if the block contains entry #entry.
Int_t GetEntry(Int_t entry)
Return entry #entry.
void Print(const Option_t *option="") const override
Print the entries in this block.
Int_t Merge(TEntryListBlock *block)
Merge with the other block Returns the resulting number of entries in the block.