Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Internal::TTreeProxyGenerator Class Reference

Definition at line 28 of file TTreeProxyGenerator.h.

Public Types

enum  EContainer { kNone , kClones , kSTL }
 
enum  EOption { kNoOption , kNoHist }
 

Public Member Functions

 TTreeProxyGenerator (TTree *tree, const char *script, const char *cutscript, const char *fileprefix, const char *option, UInt_t maxUnrolling)
 Constructor.
 
 TTreeProxyGenerator (TTree *tree, const char *script, const char *fileprefix, const char *option, UInt_t maxUnrolling)
 Constructor.
 
TBranchProxyClassDescriptorAddClass (TBranchProxyClassDescriptor *desc)
 Add a Class Descriptor.
 
void AddDescriptor (TBranchProxyDescriptor *desc)
 Add a branch descriptor.
 
void AddForward (const char *classname)
 Add a forward declaration request.
 
void AddForward (TClass *cl)
 Add a forward declaration request.
 
void AddFriend (TFriendProxyDescriptor *desc)
 Add Friend descriptor.
 
void AddMissingClassAsEnum (const char *clname, bool isscope)
 Generate an enum for a given type if it is not known in the list of class unless the type itself a template.
 
void AddPragma (const char *pragma_text)
 Add a forward declaration request.
 
UInt_t AnalyzeBranches (UInt_t level, TBranchProxyClassDescriptor *topdesc, TBranchElement *branch, TVirtualStreamerInfo *info=nullptr)
 Analyze the sub-branch and populate the TTreeProxyGenerator or the topdesc with its findings.
 
UInt_t AnalyzeBranches (UInt_t level, TBranchProxyClassDescriptor *topdesc, TIter &branches, TVirtualStreamerInfo *info)
 Analyze the list of sub branches of a TBranchElement by looping over the streamer elements and create the appropriate class proxies.
 
void AnalyzeElement (TBranch *branch, TStreamerElement *element, UInt_t level, TBranchProxyClassDescriptor *desc, const char *path)
 Analyze the element and populate the TTreeProxyGenerator or the topdesc with its findings.
 
UInt_t AnalyzeOldBranch (TBranch *branch, UInt_t level, TBranchProxyClassDescriptor *desc)
 Analyze the branch and populate the TTreeProxyGenerator or the topdesc with its findings.
 
UInt_t AnalyzeOldLeaf (TLeaf *leaf, UInt_t level, TBranchProxyClassDescriptor *topdesc)
 Analyze the leaf and populate the `TTreeProxyGenerator or the topdesc with its findings.
 
void AnalyzeTree (TTree *tree)
 Analyze a TTree and its (potential) friends.
 
void CheckForMissingClass (const char *clname)
 Check if the template parameter refers to an enum and/or a missing class (we can't tell those 2 apart unless the name as template syntax).
 
const char * GetFileName ()
 
bool NeedToEmulate (TClass *cl, UInt_t level)
 Return true if we should create a nested class representing this class.
 
void ParseOptions ()
 Parse the options string.
 
void WriteProxy ()
 Check whether the file exist and do something useful if it does.
 
- Public Member Functions inherited from ROOT::Internal::TTreeGeneratorBase
 TTreeGeneratorBase (TTree *tree, const char *option)
 Constructor.
 
void AddHeader (const char *classname)
 Add a header inclusion request.
 
void AddHeader (TClass *cl)
 Add a header inclusion request.
 
TVirtualStreamerInfoGetBaseClass (TStreamerElement *element)
 Check if element is a base class and if yes, return the base class.
 
TString GetContainedClassName (TBranchElement *branch, TStreamerElement *element, bool ispointer)
 Get name of class inside a container.
 
TVirtualStreamerInfoGetStreamerInfo (TBranch *branch, TIter current, TClass *cl)
 Return the correct TStreamerInfo of class 'cl' in the list of branches (current) [Assuming these branches correspond to a flattened version of the class.
 

Public Attributes

TListfCurrentListOfTopProxies
 
TString fCutScript
 
TString fHeaderFileName
 
TList fListOfClasses
 
TList fListOfForwards
 
TList fListOfFriends
 
TList fListOfPragmas
 
TList fListOfTopProxies
 
UInt_t fMaxDatamemberType
 
UInt_t fMaxUnrolling
 
UInt_t fOptions
 
TString fPrefix
 
TString fScript
 
- Public Attributes inherited from ROOT::Internal::TTreeGeneratorBase
TList fListOfHeaders
 List of included headers.
 
TString fOptionStr
 User options as a string.
 
TTreefTree
 Pointer to the tree.
 

#include <TTreeProxyGenerator.h>

Inheritance diagram for ROOT::Internal::TTreeProxyGenerator:
[legend]

Member Enumeration Documentation

◆ EContainer

Enumerator
kNone 
kClones 
kSTL 

Definition at line 31 of file TTreeProxyGenerator.h.

◆ EOption

Enumerator
kNoOption 
kNoHist 

Definition at line 32 of file TTreeProxyGenerator.h.

Constructor & Destructor Documentation

◆ TTreeProxyGenerator() [1/2]

ROOT::Internal::TTreeProxyGenerator::TTreeProxyGenerator ( TTree tree,
const char *  script,
const char *  fileprefix,
const char *  option,
UInt_t  maxUnrolling 
)

Constructor.

Definition at line 211 of file TTreeProxyGenerator.cxx.

◆ TTreeProxyGenerator() [2/2]

ROOT::Internal::TTreeProxyGenerator::TTreeProxyGenerator ( TTree tree,
const char *  script,
const char *  cutscript,
const char *  fileprefix,
const char *  option,
UInt_t  maxUnrolling 
)

Constructor.

Definition at line 235 of file TTreeProxyGenerator.cxx.

Member Function Documentation

◆ AddClass()

TBranchProxyClassDescriptor * ROOT::Internal::TTreeProxyGenerator::AddClass ( TBranchProxyClassDescriptor desc)

Add a Class Descriptor.

Definition at line 268 of file TTreeProxyGenerator.cxx.

◆ AddDescriptor()

void ROOT::Internal::TTreeProxyGenerator::AddDescriptor ( TBranchProxyDescriptor desc)

Add a branch descriptor.

Definition at line 392 of file TTreeProxyGenerator.cxx.

◆ AddForward() [1/2]

void ROOT::Internal::TTreeProxyGenerator::AddForward ( const char *  classname)

Add a forward declaration request.

Definition at line 347 of file TTreeProxyGenerator.cxx.

◆ AddForward() [2/2]

void ROOT::Internal::TTreeProxyGenerator::AddForward ( TClass cl)

Add a forward declaration request.

Definition at line 368 of file TTreeProxyGenerator.cxx.

◆ AddFriend()

void ROOT::Internal::TTreeProxyGenerator::AddFriend ( TFriendProxyDescriptor desc)

Add Friend descriptor.

Definition at line 298 of file TTreeProxyGenerator.cxx.

◆ AddMissingClassAsEnum()

void ROOT::Internal::TTreeProxyGenerator::AddMissingClassAsEnum ( const char *  clname,
bool  isscope 
)

Generate an enum for a given type if it is not known in the list of class unless the type itself a template.

Definition at line 413 of file TTreeProxyGenerator.cxx.

◆ AddPragma()

void ROOT::Internal::TTreeProxyGenerator::AddPragma ( const char *  pragma_text)

Add a forward declaration request.

Definition at line 376 of file TTreeProxyGenerator.cxx.

◆ AnalyzeBranches() [1/2]

UInt_t ROOT::Internal::TTreeProxyGenerator::AnalyzeBranches ( UInt_t  level,
TBranchProxyClassDescriptor topdesc,
TBranchElement branch,
TVirtualStreamerInfo info = nullptr 
)

Analyze the sub-branch and populate the TTreeProxyGenerator or the topdesc with its findings.

Definition at line 483 of file TTreeProxyGenerator.cxx.

◆ AnalyzeBranches() [2/2]

UInt_t ROOT::Internal::TTreeProxyGenerator::AnalyzeBranches ( UInt_t  level,
TBranchProxyClassDescriptor topdesc,
TIter branches,
TVirtualStreamerInfo info 
)

Analyze the list of sub branches of a TBranchElement by looping over the streamer elements and create the appropriate class proxies.

Definition at line 497 of file TTreeProxyGenerator.cxx.

◆ AnalyzeElement()

void ROOT::Internal::TTreeProxyGenerator::AnalyzeElement ( TBranch branch,
TStreamerElement element,
UInt_t  level,
TBranchProxyClassDescriptor desc,
const char *  path 
)

Analyze the element and populate the TTreeProxyGenerator or the topdesc with its findings.

Definition at line 1271 of file TTreeProxyGenerator.cxx.

◆ AnalyzeOldBranch()

UInt_t ROOT::Internal::TTreeProxyGenerator::AnalyzeOldBranch ( TBranch branch,
UInt_t  level,
TBranchProxyClassDescriptor topdesc 
)

Analyze the branch and populate the TTreeProxyGenerator or the topdesc with its findings.

Sometimes several branch of the mom are also analyzed, the number of such branches is returned (this happens in the case of embedded objects inside an object inside a clones array split more than one level.

Definition at line 1054 of file TTreeProxyGenerator.cxx.

◆ AnalyzeOldLeaf()

UInt_t ROOT::Internal::TTreeProxyGenerator::AnalyzeOldLeaf ( TLeaf leaf,
UInt_t  level,
TBranchProxyClassDescriptor topdesc 
)

Analyze the leaf and populate the `TTreeProxyGenerator or the topdesc with its findings.

Definition at line 926 of file TTreeProxyGenerator.cxx.

◆ AnalyzeTree()

void ROOT::Internal::TTreeProxyGenerator::AnalyzeTree ( TTree tree)

Analyze a TTree and its (potential) friends.

Definition at line 1108 of file TTreeProxyGenerator.cxx.

◆ CheckForMissingClass()

void ROOT::Internal::TTreeProxyGenerator::CheckForMissingClass ( const char *  clname)

Check if the template parameter refers to an enum and/or a missing class (we can't tell those 2 apart unless the name as template syntax).

Definition at line 438 of file TTreeProxyGenerator.cxx.

◆ GetFileName()

const char * ROOT::Internal::TTreeProxyGenerator::GetFileName ( )
inline

Definition at line 72 of file TTreeProxyGenerator.h.

◆ NeedToEmulate()

bool ROOT::Internal::TTreeProxyGenerator::NeedToEmulate ( TClass cl,
UInt_t  level 
)

Return true if we should create a nested class representing this class.

Definition at line 259 of file TTreeProxyGenerator.cxx.

◆ ParseOptions()

void ROOT::Internal::TTreeProxyGenerator::ParseOptions ( )

Parse the options string.

Definition at line 1546 of file TTreeProxyGenerator.cxx.

◆ WriteProxy()

void ROOT::Internal::TTreeProxyGenerator::WriteProxy ( )

Check whether the file exist and do something useful if it does.

Definition at line 1597 of file TTreeProxyGenerator.cxx.

Member Data Documentation

◆ fCurrentListOfTopProxies

TList* ROOT::Internal::TTreeProxyGenerator::fCurrentListOfTopProxies

Definition at line 44 of file TTreeProxyGenerator.h.

◆ fCutScript

TString ROOT::Internal::TTreeProxyGenerator::fCutScript

Definition at line 35 of file TTreeProxyGenerator.h.

◆ fHeaderFileName

TString ROOT::Internal::TTreeProxyGenerator::fHeaderFileName

Definition at line 37 of file TTreeProxyGenerator.h.

◆ fListOfClasses

TList ROOT::Internal::TTreeProxyGenerator::fListOfClasses

Definition at line 40 of file TTreeProxyGenerator.h.

◆ fListOfForwards

TList ROOT::Internal::TTreeProxyGenerator::fListOfForwards

Definition at line 45 of file TTreeProxyGenerator.h.

◆ fListOfFriends

TList ROOT::Internal::TTreeProxyGenerator::fListOfFriends

Definition at line 41 of file TTreeProxyGenerator.h.

◆ fListOfPragmas

TList ROOT::Internal::TTreeProxyGenerator::fListOfPragmas

Definition at line 42 of file TTreeProxyGenerator.h.

◆ fListOfTopProxies

TList ROOT::Internal::TTreeProxyGenerator::fListOfTopProxies

Definition at line 43 of file TTreeProxyGenerator.h.

◆ fMaxDatamemberType

UInt_t ROOT::Internal::TTreeProxyGenerator::fMaxDatamemberType

Definition at line 33 of file TTreeProxyGenerator.h.

◆ fMaxUnrolling

UInt_t ROOT::Internal::TTreeProxyGenerator::fMaxUnrolling

Definition at line 39 of file TTreeProxyGenerator.h.

◆ fOptions

UInt_t ROOT::Internal::TTreeProxyGenerator::fOptions

Definition at line 38 of file TTreeProxyGenerator.h.

◆ fPrefix

TString ROOT::Internal::TTreeProxyGenerator::fPrefix

Definition at line 36 of file TTreeProxyGenerator.h.

◆ fScript

TString ROOT::Internal::TTreeProxyGenerator::fScript

Definition at line 34 of file TTreeProxyGenerator.h.

Libraries for ROOT::Internal::TTreeProxyGenerator:

The documentation for this class was generated from the following files: