78#ifdef R__TRACK_BASKET_ALLOC_TIME 
  100      kGenerateOffsetMap = 
BIT(0),
 
  102      kSupported = kGenerateOffsetMap
 
  139#ifdef R__TRACK_BASKET_ALLOC_TIME 
  140   ULong64_t       GetResetAllocationTime()
 const { 
return fResetAllocationTime; }
 
unsigned long long ULong64_t
 
#define ClassDef(name, id)
 
Manages buffers for branches of a Tree.
 
Int_t * fEntryOffset
[fNevBuf] Offset of entries in fBuffer(TKey); generated at runtime.
 
Int_t GetEntryPointer(Int_t Entry)
Get pointer to buffer for internal entry.
 
void AdoptBuffer(TBuffer *user_buffer)
Adopt a buffer from an external entity.
 
Bool_t fOwnsCompressedBuffer
! Whether or not we own the compressed buffer.
 
TBranch * fBranch
Pointer to the basket support branch.
 
Int_t GetNevBufSize() const
 
Long64_t CopyTo(TFile *to)
Copy the basket of this branch onto the file to.
 
Int_t * GetDisplacement() const
 
void InitializeCompressedBuffer(Int_t len, TFile *file)
Initialize the compressed buffer; either from the TTree or create a local one.
 
UChar_t fNextBufferSizeRecord
! Index into fLastWriteBufferSize of the last buffer written to disk
 
Bool_t CanGenerateOffsetArray()
Determine whether we can generate the offset array when this branch is read.
 
Bool_t fHeaderOnly
True when only the basket header must be read/written.
 
void DisownBuffer()
Disown all references to the internal buffer - some other object likely now owns it.
 
Int_t fLastWriteBufferSize[3]
! Size of the buffer last three buffers we wrote it to disk
 
void SetBranch(TBranch *branch)
 
Int_t ReadBasketBuffers(Long64_t pos, Int_t len, TFile *file)
Read basket buffers in memory and cleanup.
 
UChar_t fIOBits
!IO feature flags. Serialized in custom portion of streamer to avoid forward compat issues unless nee...
 
virtual Int_t DropBuffers()
Drop buffers of this basket if it is not the current basket.
 
virtual void PrepareBasket(Long64_t)
 
virtual void MoveEntries(Int_t dentries)
Remove the first dentries of this basket, moving entries at dentries to the start of the buffer.
 
void SetNevBufSize(Int_t n)
 
static constexpr int kIOBitCount
 
Int_t GetBufferSize() const
 
TBranch * GetBranch() const
 
TBasket()
Default contructor.
 
virtual void AdjustSize(Int_t newsize)
Increase the size of the current fBuffer up to newsize.
 
Int_t LoadBasketBuffers(Long64_t pos, Int_t len, TFile *file, TTree *tree=0)
Load basket buffers in memory without unziping.
 
Bool_t fResetAllocation
! True if last reset re-allocated the memory
 
virtual void SetReadMode()
Set read mode of basket.
 
virtual void SetWriteMode()
Set write mode of basket.
 
Int_t ReadBasketBuffersUncompressedCase()
By-passing buffer unzipping has been requested and is possible (only 1 entry in this basket).
 
Bool_t GetResetAllocationCount() const
 
Int_t fBufferSize
fBuffer length in bytes
 
Int_t ReadBasketBuffersUnzip(char *, Int_t, Bool_t, TFile *)
We always create the TBuffer for the basket but it hold the buffer from the cache.
 
Int_t ReadBasketBytes(Long64_t pos, TFile *file)
Read basket buffers in memory and cleanup.
 
virtual void ReadResetBuffer(Int_t basketnumber)
Reset the read basket TBuffer memory allocation if needed.
 
TBasket & operator=(const TBasket &)
TBasket objects are not copiable.
 
virtual Int_t WriteBuffer()
Write buffer of this basket on the current file.
 
void Update(Int_t newlast)
 
TBasket(const TBasket &)
TBasket objects are not copiable.
 
Int_t fNevBufSize
Length in Int_t of fEntryOffset OR fixed length of each entry if fEntryOffset is null!
 
Int_t fNevBuf
Number of entries in basket.
 
Int_t * GetCalculatedEntryOffset()
Calculates the entry offset array, if possible.
 
Bool_t fReadEntryOffset
!Set to true if offset array was read from a file.
 
virtual ~TBasket()
Basket destructor.
 
virtual void DeleteEntryOffset()
Delete fEntryOffset array.
 
TBuffer * fCompressedBufferRef
! Compressed buffer.
 
Int_t fLast
Pointer to last used byte in basket.
 
Int_t * fDisplacement
![fNevBuf] Displacement of entries in fBuffer(TKey)
 
virtual void WriteReset()
Reset the write basket to the starting state.
 
A TTree is a list of TBranches.
 
Buffer base class used for serializing objects.
 
Describe directory structure in memory.
 
A ROOT file is a suite of consecutive data records (TKey instances) with a well defined format.
 
Book space in a file, create I/O buffers, to fill them, (un)compress them.
 
A TTree represents a columnar dataset.