<commit_before>// @(#)root/tree:$Name:  $:$Id: TBranch.h,v 1.1.1.1 2000/05/16 17:00:45 rdm Exp $
// Author: <NAME>   12/01/96

/*************************************************************************
 * Copyright (C) 1995-2000, <NAME> and <NAME>.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#ifndef ROOT_TBranch
#define ROOT_TBranch


//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TBranch                                                              //
//                                                                      //
// A TTree object is a list of TBranchs.                                //
//   A TBranch describes the branch data structure and supports :       //
//     the list of TBaskets (branch buffers) associated to this branch. //
//     the list of TLeaves (branch description)                         //
//////////////////////////////////////////////////////////////////////////


#ifndef ROOT_TNamed
#include "TNamed.h"
#endif

#ifndef ROOT_TObjArray
#include "TObjArray.h"
#endif

#ifndef ROOT_TStringLong
#include "TStringLong.h"
#endif

#ifndef ROOT_Htypes
#include "Htypes.h"
#endif

class TTree;
class TBasket;
class TLeaf;
class TBrowser;
class TDirectory;
class TFile;
class TClonesArray;

   const Int_t kDoNotProcess = BIT(10); // Active bit for branches
   const Int_t kIsClone      = BIT(11); // to indicate a TBranchClones

class TBranch : public TNamed {

protected:
    // TBranch status bits
    enum { kAutoDelete = BIT(15) };

    Int_t       fCompress;        //(=1 branch is compressed, 0 otherwise)
    Int_t       fBasketSize;      //Initial Size of  Basket Buffer
    Int_t       fEntryOffsetLen;  //Initial Length of fEntryOffset table in the basket buffers
    Int_t       fMaxBaskets;      //Maximum number of Baskets so far
    Int_t       fWriteBasket;     //Last basket number written
    Int_t       fReadBasket;      //Current basket number when reading
    Int_t       fReadEntry;       //Current entry number when reading
    Int_t       fEntryNumber;     //Current entry number (last one filled in this branch)
    Int_t       fOffset;          //Offset of this branch
    Int_t       fNleaves;         //Number of leaves
    Stat_t      fEntries;         //Number of entries
    Stat_t      fTotBytes;        //Total number of bytes in all leaves before compression
    Stat_t      fZipBytes;        //Total number of bytes in all leaves after compression
    TObjArray   fBranches;        //List of Branches of this branch
    TObjArray   fLeaves;          //List of leaves of this branch
    TObjArray   fBaskets;         //List of baskets of this branch
    Int_t       fNBasketRAM;      //Number of baskets in fBasketRAM
    Int_t       *fBasketRAM;      //[fNBasketRAM] table of basket numbers in memory
    Int_t       *fBasketBytes;    //[fMaxBaskets] Lenght of baskets on file
    Int_t       *fBasketEntry;    //[fMaxBaskets] Table of first entry in eack basket
    Seek_t      *fBasketSeek;     //[fMaxBaskets] Addresses of baskets on file
    TTree       *fTree;           //Pointer to Tree header
    char        *fAddress;        //Address of 1st leaf (variable or object)
    TDirectory  *fDirectory;      //Pointer to directory where this branch buffers are stored
    TString     fFileName;        //Name of file where buffers are stored ("" if in same file as Tree header)
    TBuffer     *fEntryBuffer;    //!Buffer used to directly pass the content without streaming

public:
    TBranch();
    TBranch(const char *name, void *address, const char *leaflist, Int_t basketsize=32000, Int_t compress=-1);
    virtual ~TBranch();

    virtual void    Browse(TBrowser *b);
    virtual void    DropBaskets();
    virtual Int_t   Fill();
    virtual char    *GetAddress() {return fAddress;}
    virtual Int_t   GetBasketSize() {return fBasketSize;}
    virtual Int_t   GetCompressionLevel() {return fCompress;}
    virtual Int_t   GetEntry(Int_t entry=0, Int_t getall = 0);
    virtual Int_t   GetEntryExport(Int_t entry, Int_t getall, TClonesArray *list, Int_t n);
            Int_t   GetEvent(Int_t entry=0) {return GetEntry(entry);}
            Int_t   GetEntryOffsetLen() {return fEntryOffsetLen;}
    virtual TLeaf   *GetLeaf(const char *name);
            TBasket *GetBasket(Int_t basket);
            Int_t   *GetBasketBytes() {return fBasketBytes;}
    virtual Seek_t  GetBasketSeek(Int_t basket);
    TDirectory      *GetDirectory() {return fDirectory;}
    virtual TFile   *GetFile(Int_t mode=0);
    const char      *GetFileName() const {return fFileName.Data();}
            Int_t   GetOffset() {return fOffset;}
            Int_t   GetReadBasket() {return fReadBasket;}
            Int_t   GetReadEntry() {return fReadEntry;}
            Int_t   GetWriteBasket() {return fWriteBasket;}
            Stat_t  GetTotBytes() {return fTotBytes;}
            Stat_t  GetZipBytes() {return fZipBytes;}
            Int_t   GetEntryNumber() {return fEntryNumber;}
    TObjArray       *GetListOfBaskets() {return &fBaskets;}
    TObjArray       *GetListOfBranches() {return &fBranches;}
    TObjArray       *GetListOfLeaves() {return &fLeaves;}
            Int_t   GetMaxBaskets()  {return fMaxBaskets;}
            Int_t   GetNleaves() {return fNleaves;}
            Stat_t  GetEntries() {return fEntries;}
           TTree   *GetTree() {return fTree;}
    virtual Int_t   GetRow(Int_t row);
    Bool_t          IsAutoDelete();
    Bool_t          IsFolder() const;
    virtual void    Print(Option_t *option="");
    virtual void    ReadBasket(TBuffer &b);
    virtual void    Reset(Option_t *option="");
    virtual void    ResetReadEntry() {fReadEntry = -1;}
    virtual void    SetAddress(void *add);
    virtual void    SetAutoDelete(Bool_t autodel=kTRUE);
    virtual void    SetBasketSize(Int_t buffsize) {fBasketSize=buffsize;}
    virtual void    SetBufferAddress(TBuffer *entryBuffer);
    virtual void    SetCompressionLevel(Int_t level=1);
    virtual void    SetEntryOffsetLen(Int_t len) {fEntryOffsetLen = len;}
    virtual void    SetFile(TFile *file=0);
    virtual void    SetFile(const char *filename);
    virtual void    SetOffset(Int_t offset=0) {fOffset=offset;}
    virtual void    SetTree(TTree *tree) { fTree = tree;}
    virtual void    UpdateAddress() {;}

    ClassDef(TBranch,5)  //Branch descriptor
};

#endif<commit_msg>Increment class version number from 5 to 6. Cleanup and reorder data members. Declare dimensions in the comment field for members: fBasketBytes, fBasketEntry and fBasketSeek. Declare not persistent the members: fNleaves,fReadBasket, fReadEntry, fNbasketRAM, fBasketRAM, fTree, fAddress, fDirectory and fEntryBuffer. Declare fBranches, fLeaves and fBaskets with "->" in the comment field.<commit_after>// @(#)root/tree:$Name:  $:$Id: TBranch.h,v 1.2 2000/09/05 09:21:24 brun Exp $
// Author: <NAME>   12/01/96

/*************************************************************************
 * Copyright (C) 1995-2000, <NAME> and <NAME>.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#ifndef ROOT_TBranch
#define ROOT_TBranch


//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TBranch                                                              //
//                                                                      //
// A TTree object is a list of TBranchs.                                //
//   A TBranch describes the branch data structure and supports :       //
//     the list of TBaskets (branch buffers) associated to this branch. //
//     the list of TLeaves (branch description)                         //
//////////////////////////////////////////////////////////////////////////


#ifndef ROOT_TNamed
#include "TNamed.h"
#endif

#ifndef ROOT_TObjArray
#include "TObjArray.h"
#endif

#ifndef ROOT_TStringLong
#include "TStringLong.h"
#endif

#ifndef ROOT_Htypes
#include "Htypes.h"
#endif

class TTree;
class TBasket;
class TLeaf;
class TBrowser;
class TDirectory;
class TFile;
class TClonesArray;

   const Int_t kDoNotProcess = BIT(10); // Active bit for branches
   const Int_t kIsClone      = BIT(11); // to indicate a TBranchClones

class TBranch : public TNamed {

protected:
    // TBranch status bits
    enum { kAutoDelete = BIT(15) };

    Int_t       fCompress;        // (=1 branch is compressed, 0 otherwise)
    Int_t       fBasketSize;      // Initial Size of  Basket Buffer
    Int_t       fEntryOffsetLen;  // Initial Length of fEntryOffset table in the basket buffers
    Int_t       fWriteBasket;     // Last basket number written
    Int_t       fEntryNumber;     // Current entry number (last one filled in this branch)
    Int_t       fOffset;          // Offset of this branch
    Int_t       fMaxBaskets;      // Maximum number of Baskets so far
    Int_t       fNleaves;         //!Number of leaves
    Int_t       fReadBasket;      //!Current basket number when reading
    Int_t       fReadEntry;       //!Current entry number when reading
    Stat_t      fEntries;         // Number of entries
    Stat_t      fTotBytes;        // Total number of bytes in all leaves before compression
    Stat_t      fZipBytes;        // Total number of bytes in all leaves after compression
    TObjArray   fBranches;        //-> List of Branches of this branch
    TObjArray   fLeaves;          //-> List of leaves of this branch
    TObjArray   fBaskets;         //-> List of baskets of this branch
    Int_t       fNBasketRAM;      //!Number of baskets in fBasketRAM
    Int_t      *fBasketRAM;       //![fNBasketRAM] table of basket numbers in memory
    Int_t      *fBasketBytes;     //[fMaxBaskets] Lenght of baskets on file
    Int_t      *fBasketEntry;     //[fMaxBaskets] Table of first entry in eack basket
    Seek_t     *fBasketSeek;      //[fMaxBaskets] Addresses of baskets on file
    TTree      *fTree;            //!Pointer to Tree header
    char       *fAddress;         //!Address of 1st leaf (variable or object)
    TDirectory *fDirectory;       //!Pointer to directory where this branch buffers are stored
    TString     fFileName;        // Name of file where buffers are stored ("" if in same file as Tree header)
    TBuffer    *fEntryBuffer;     //!Buffer used to directly pass the content without streaming

public:
    TBranch();
    TBranch(const char *name, void *address, const char *leaflist, Int_t basketsize=32000, Int_t compress=-1);
    virtual ~TBranch();

    virtual void    Browse(TBrowser *b);
    virtual void    DropBaskets();
    virtual Int_t   Fill();
    virtual char    *GetAddress() {return fAddress;}
    virtual Int_t   GetBasketSize() {return fBasketSize;}
    virtual Int_t   GetCompressionLevel() {return fCompress;}
    virtual Int_t   GetEntry(Int_t entry=0, Int_t getall = 0);
    virtual Int_t   GetEntryExport(Int_t entry, Int_t getall, TClonesArray *list, Int_t n);
            Int_t   GetEvent(Int_t entry=0) {return GetEntry(entry);}
            Int_t   GetEntryOffsetLen() {return fEntryOffsetLen;}
    virtual TLeaf   *GetLeaf(const char *name);
            TBasket *GetBasket(Int_t basket);
            Int_t   *GetBasketBytes() {return fBasketBytes;}
    virtual Seek_t  GetBasketSeek(Int_t basket);
    TDirectory      *GetDirectory() {return fDirectory;}
    virtual TFile   *GetFile(Int_t mode=0);
    const char      *GetFileName() const {return fFileName.Data();}
            Int_t   GetOffset() {return fOffset;}
            Int_t   GetReadBasket() {return fReadBasket;}
            Int_t   GetReadEntry() {return fReadEntry;}
            Int_t   GetWriteBasket() {return fWriteBasket;}
            Stat_t  GetTotBytes() {return fTotBytes;}
            Stat_t  GetZipBytes() {return fZipBytes;}
            Int_t   GetEntryNumber() {return fEntryNumber;}
    TObjArray       *GetListOfBaskets() {return &fBaskets;}
    TObjArray       *GetListOfBranches() {return &fBranches;}
    TObjArray       *GetListOfLeaves() {return &fLeaves;}
            Int_t   GetMaxBaskets()  {return fMaxBaskets;}
            Int_t   GetNleaves() {return fNleaves;}
            Stat_t  GetEntries() {return fEntries;}
           TTree   *GetTree() {return fTree;}
    virtual Int_t   GetRow(Int_t row);
    Bool_t          IsAutoDelete();
    Bool_t          IsFolder() const;
    virtual void    Print(Option_t *option="");
    virtual void    ReadBasket(TBuffer &b);
    virtual void    Reset(Option_t *option="");
    virtual void    ResetReadEntry() {fReadEntry = -1;}
    virtual void    SetAddress(void *add);
    virtual void    SetAutoDelete(Bool_t autodel=kTRUE);
    virtual void    SetBasketSize(Int_t buffsize) {fBasketSize=buffsize;}
    virtual void    SetBufferAddress(TBuffer *entryBuffer);
    virtual void    SetCompressionLevel(Int_t level=1);
    virtual void    SetEntryOffsetLen(Int_t len) {fEntryOffsetLen = len;}
    virtual void    SetFile(TFile *file=0);
    virtual void    SetFile(const char *filename);
    virtual void    SetOffset(Int_t offset=0) {fOffset=offset;}
    virtual void    SetTree(TTree *tree) { fTree = tree;}
    virtual void    UpdateAddress() {;}

    ClassDef(TBranch,6)  //Branch descriptor
};

#endif
{'fraction_non_alphanumeric': 0.12273540995345507, 'fraction_numerical': 0.008020050125313283, 'mean_word_length': 2.0513436748962204, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 13, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 1, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 26, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2313355', 'n_tokens_mistral': 4040, 'n_tokens_neox': 3919, 'n_words': 1223}