Logo ROOT   6.08/07
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
A TLeaf describes individual elements of a TBranch See TBranch structure in TTree.
Definition: TLeaf.h:37
Bool_t NeedToEmulate(TClass *cl, UInt_t level)
UInt_t AnalyzeBranches(UInt_t level, TBranchProxyClassDescriptor *topdesc, TBranchElement *branch, TVirtualStreamerInfo *info=0)
This namespace contains pre-defined functions to be used in conjuction with TExecutor::Map and TExecu...
Definition: StringConv.hxx:21
void ParseOptions()
Parse the options string.
void AddFriend(TFriendProxyDescriptor *desc)
void AddPragma(const char *pragma_text)
Basic string class.
Definition: TString.h:137
void AddDescriptor(TBranchProxyDescriptor *desc)
void AnalyzeElement(TBranch *branch, TStreamerElement *element, UInt_t level, TBranchProxyClassDescriptor *desc, const char *path)
bool Bool_t
Definition: RtypesCore.h:59
void WriteProxy()
Check whether the file exist and do something useful if it does.
UInt_t AnalyzeOldLeaf(TLeaf *leaf, UInt_t level, TBranchProxyClassDescriptor *topdesc)
A doubly linked list.
Definition: TList.h:47
TTreeProxyGenerator(TTree *tree, const char *script, const char *fileprefix, const char *option, UInt_t maxUnrolling)
unsigned int UInt_t
Definition: RtypesCore.h:42
The ROOT global object gROOT contains a list of all defined classes.
Definition: TClass.h:81
A Branch for the case of an object.
void AddMissingClassAsEnum(const char *clname, Bool_t isscope)
UInt_t AnalyzeOldBranch(TBranch *branch, UInt_t level, TBranchProxyClassDescriptor *desc)
void CheckForMissingClass(const char *clname)
Definition: tree.py:1
A TTree object has a header with a name and a title.
Definition: TTree.h:98
A TTree is a list of TBranches.
Definition: TBranch.h:58
Abstract Interface class describing Streamer information for one class.
TBranchProxyClassDescriptor * AddClass(TBranchProxyClassDescriptor *desc)