Logo ROOT  
Reference Guide
TTreeProxyGenerator.h
Go to the documentation of this file.
1 // @(#)root/treeplayer:$Id$
2 // Author: Philippe Canal 01/06/2004
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers and al. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_TTreeProxyGenerator
13 #define ROOT_TTreeProxyGenerator
14 
15 #include "TTreeGeneratorBase.h"
16 
17 class TBranch;
18 class TBranchElement;
19 class TLeaf;
20 class TStreamerElement;
21 
22 namespace ROOT {
23 namespace Internal {
24  class TFriendProxyDescriptor;
25  class TBranchProxyDescriptor;
26  class TBranchProxyClassDescriptor;
27 
29  {
30  public:
46  TTreeProxyGenerator(TTree* tree, const char *script, const char *fileprefix,
47  const char *option, UInt_t maxUnrolling);
48  TTreeProxyGenerator(TTree* tree, const char *script, const char *cutscript,
49  const char *fileprefix, const char *option, UInt_t maxUnrolling);
50 
53  void AddForward(TClass *cl);
54  void AddForward(const char *classname);
56  void AddMissingClassAsEnum(const char *clname, Bool_t isscope);
57  void AddPragma(const char *pragma_text);
58  void CheckForMissingClass(const char *clname);
59 
60  Bool_t NeedToEmulate(TClass *cl, UInt_t level);
61 
62  void ParseOptions();
63 
68  void AnalyzeElement(TBranch *branch, TStreamerElement *element, UInt_t level, TBranchProxyClassDescriptor *desc, const char* path);
69  void AnalyzeTree(TTree *tree);
70  void WriteProxy();
71 
72  const char *GetFileName() { return fHeaderFileName; }
73  };
74 
75 }
76 }
77 
78 #endif
ROOT::Internal::TTreeProxyGenerator::fListOfTopProxies
TList fListOfTopProxies
Definition: TTreeProxyGenerator.h:43
ROOT::Internal::TTreeProxyGenerator::fHeaderFileName
TString fHeaderFileName
Definition: TTreeProxyGenerator.h:37
ROOT::Internal::TTreeProxyGenerator::AnalyzeOldLeaf
UInt_t AnalyzeOldLeaf(TLeaf *leaf, UInt_t level, TBranchProxyClassDescriptor *topdesc)
Definition: TTreeProxyGenerator.cxx:909
ROOT::Internal::TTreeProxyGenerator::AnalyzeTree
void AnalyzeTree(TTree *tree)
Definition: TTreeProxyGenerator.cxx:1090
TBranchElement
A Branch for the case of an object.
Definition: TBranchElement.h:39
ROOT::Internal::TTreeProxyGenerator::AddMissingClassAsEnum
void AddMissingClassAsEnum(const char *clname, Bool_t isscope)
Definition: TTreeProxyGenerator.cxx:400
tree
Definition: tree.py:1
ROOT::Internal::TTreeProxyGenerator::fMaxDatamemberType
UInt_t fMaxDatamemberType
Definition: TTreeProxyGenerator.h:33
ROOT::Internal::TTreeProxyGenerator::kNoOption
@ kNoOption
Definition: TTreeProxyGenerator.h:32
TTree
A TTree represents a columnar dataset.
Definition: TTree.h:79
ROOT::Internal::TTreeProxyGenerator::EContainer
EContainer
Definition: TTreeProxyGenerator.h:31
ROOT::Internal::TTreeProxyGenerator::AddDescriptor
void AddDescriptor(TBranchProxyDescriptor *desc)
Definition: TTreeProxyGenerator.cxx:381
ROOT::Internal::TTreeProxyGenerator::fListOfFriends
TList fListOfFriends
Definition: TTreeProxyGenerator.h:41
ROOT::Internal::TTreeProxyGenerator::kClones
@ kClones
Definition: TTreeProxyGenerator.h:31
ROOT::Internal::TTreeProxyGenerator::AddPragma
void AddPragma(const char *pragma_text)
Definition: TTreeProxyGenerator.cxx:366
ROOT::Internal::TTreeProxyGenerator::kNoHist
@ kNoHist
Definition: TTreeProxyGenerator.h:32
ROOT::Internal::TTreeProxyGenerator::NeedToEmulate
Bool_t NeedToEmulate(TClass *cl, UInt_t level)
Definition: TTreeProxyGenerator.cxx:254
ROOT::Internal::TFriendProxyDescriptor
Definition: TFriendProxyDescriptor.h:22
TString
Basic string class.
Definition: TString.h:136
ROOT::Internal::TTreeProxyGenerator::EOption
EOption
Definition: TTreeProxyGenerator.h:32
TVirtualStreamerInfo
Abstract Interface class describing Streamer information for one class.
Definition: TVirtualStreamerInfo.h:37
bool
ROOT::Internal::TTreeProxyGenerator::WriteProxy
void WriteProxy()
Check whether the file exist and do something useful if it does.
Definition: TTreeProxyGenerator.cxx:1580
ROOT::Internal::TTreeProxyGenerator::fMaxUnrolling
UInt_t fMaxUnrolling
Definition: TTreeProxyGenerator.h:39
TBranch
A TTree is a list of TBranches.
Definition: TBranch.h:89
ROOT::Internal::TTreeProxyGenerator::fListOfClasses
TList fListOfClasses
Definition: TTreeProxyGenerator.h:40
ROOT::Internal::TTreeProxyGenerator::fCurrentListOfTopProxies
TList * fCurrentListOfTopProxies
Definition: TTreeProxyGenerator.h:44
ROOT::Internal::TTreeGeneratorBase
Definition: TTreeGeneratorBase.h:36
TLeaf
A TLeaf describes individual elements of a TBranch See TBranch structure in TTree.
Definition: TLeaf.h:57
ROOT::Internal::TTreeProxyGenerator::AddClass
TBranchProxyClassDescriptor * AddClass(TBranchProxyClassDescriptor *desc)
Definition: TTreeProxyGenerator.cxx:262
ROOT::Internal::TTreeProxyGenerator::AnalyzeOldBranch
UInt_t AnalyzeOldBranch(TBranch *branch, UInt_t level, TBranchProxyClassDescriptor *desc)
Definition: TTreeProxyGenerator.cxx:1033
ROOT::Internal::TTreeProxyGenerator::ParseOptions
void ParseOptions()
Parse the options string.
Definition: TTreeProxyGenerator.cxx:1529
ROOT::Internal::TTreeProxyGenerator::fListOfForwards
TList fListOfForwards
Definition: TTreeProxyGenerator.h:45
TTreeGeneratorBase.h
ROOT::Internal::TTreeProxyGenerator::fPrefix
TString fPrefix
Definition: TTreeProxyGenerator.h:36
ROOT::Internal::TBranchProxyDescriptor
Definition: TBranchProxyDescriptor.h:21
ROOT::Internal::TTreeProxyGenerator
Definition: TTreeProxyGenerator.h:29
ROOT::Internal::TTreeProxyGenerator::AddForward
void AddForward(TClass *cl)
Definition: TTreeProxyGenerator.cxx:359
unsigned int
ROOT::Internal::TTreeProxyGenerator::AnalyzeElement
void AnalyzeElement(TBranch *branch, TStreamerElement *element, UInt_t level, TBranchProxyClassDescriptor *desc, const char *path)
Definition: TTreeProxyGenerator.cxx:1251
ROOT::Internal::TTreeProxyGenerator::TTreeProxyGenerator
TTreeProxyGenerator(TTree *tree, const char *script, const char *fileprefix, const char *option, UInt_t maxUnrolling)
Definition: TTreeProxyGenerator.cxx:208
ROOT::Internal::TTreeProxyGenerator::fListOfPragmas
TList fListOfPragmas
Definition: TTreeProxyGenerator.h:42
ROOT::Internal::TTreeProxyGenerator::fOptions
UInt_t fOptions
Definition: TTreeProxyGenerator.h:38
TClass
TClass instances represent classes, structs and namespaces in the ROOT type system.
Definition: TClass.h:80
ROOT::Internal::TTreeProxyGenerator::AnalyzeBranches
UInt_t AnalyzeBranches(UInt_t level, TBranchProxyClassDescriptor *topdesc, TBranchElement *branch, TVirtualStreamerInfo *info=0)
Definition: TTreeProxyGenerator.cxx:468
ROOT::Internal::TTreeProxyGenerator::CheckForMissingClass
void CheckForMissingClass(const char *clname)
Definition: TTreeProxyGenerator.cxx:424
ROOT::Internal::TTreeProxyGenerator::fScript
TString fScript
Definition: TTreeProxyGenerator.h:34
TIter
Definition: TCollection.h:233
ROOT::Internal::TTreeProxyGenerator::kSTL
@ kSTL
Definition: TTreeProxyGenerator.h:31
ROOT::Internal::TTreeProxyGenerator::AddFriend
void AddFriend(TFriendProxyDescriptor *desc)
Definition: TTreeProxyGenerator.cxx:291
ROOT
VSD Structures.
Definition: StringConv.hxx:21
TStreamerElement
Definition: TStreamerElement.h:33
ROOT::Internal::TTreeProxyGenerator::kNone
@ kNone
Definition: TTreeProxyGenerator.h:31
ROOT::Internal::TTreeProxyGenerator::fCutScript
TString fCutScript
Definition: TTreeProxyGenerator.h:35
ROOT::Internal::TTreeProxyGenerator::GetFileName
const char * GetFileName()
Definition: TTreeProxyGenerator.h:72
TList
A doubly linked list.
Definition: TList.h:44
ROOT::Internal::TBranchProxyClassDescriptor
Definition: TBranchProxyClassDescriptor.h:26