12 #ifndef ROOT_TTreeReaderGenerator
13 #define ROOT_TTreeReaderGenerator
53 fBranchName(branchName) { }
66 const char *branchname,
const char *subBranchPrefix,
ELocation isclones,
70 fContainerName(containerName),
71 fBranchName(branchname),
72 fSubBranchPrefix(subBranchPrefix),
76 if (fSubBranchPrefix.
Length() && fSubBranchPrefix[fSubBranchPrefix.
Length() - 1] ==
'.') {
A TLeaf describes individual elements of a TBranch See TBranch structure in TTree.
UInt_t AnalyzeOldLeaf(TLeaf *leaf, Int_t nleaves)
Analyze the leaf and add the variables found.
TVirtualStreamerInfo * fInfo
std::vector< TString > fIncludeStruct
Namespace for new ROOT classes and functions.
void AnalyzeTree(TTree *tree)
Analyze tree and extract readers.
TTreeReaderGenerator(TTree *tree, const char *classname, Option_t *option)
Constructor. Analyzes the tree and writes selector.
TBranchDescriptor * fParent
std::vector< TString > fIncludeLeaves
UInt_t AnalyzeBranches(TBranchDescriptor *desc, TBranchElement *branch, TVirtualStreamerInfo *info)
Analyse sub-branches of 'branch' recursively and extract readers.
void WriteSelector()
Generate code for selector class.
The TNamed class is the base class for all named ROOT classes.
TTreeReaderDescriptor(ReaderType type, TString dataType, TString name, TString branchName)
TBranchDescriptor(const char *type, TVirtualStreamerInfo *info, const char *branchname, const char *subBranchPrefix, ELocation isclones, const TString &containerName, TBranchDescriptor *parent=0)
Bool_t fIncludeAllTopmost
A Branch for the case of an object.
TString & Remove(Ssiz_t pos)
void ParseOptions()
Parse the user options.
Mother of all ROOT objects.
Bool_t BranchNeedsReader(TString branchName, TBranchDescriptor *parent, Bool_t isLeaf)
Check whether a branch should have a corresponding reader added, depending on the options provided by...
A TTree object has a header with a name and a title.
void AddReader(TTreeReaderDescriptor::ReaderType type, TString dataType, TString name, TString branchName, TBranchDescriptor *parent=0, Bool_t isLeaf=kTRUE)
Add a reader to the generated code.
UInt_t AnalyzeOldBranch(TBranch *branch)
Analyze branch and add the variables found.
A TTree is a list of TBranches.
Abstract Interface class describing Streamer information for one class.