Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
TTreeGeneratorBase.h
Go to the documentation of this file.
1 // @(#)root/treeplayer:$Id$
2 // Author: Akos Hajdu 13/08/2015
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2015, 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_TTreeGeneratorBase
13 #define ROOT_TTreeGeneratorBase
14 
15 //////////////////////////////////////////////////////////////////////////
16 // //
17 // TTreeGeneratorBase //
18 // //
19 // Base class for code generators like TTreeProxyGenerator and //
20 // TTreeReaderGenerator //
21 // //
22 //////////////////////////////////////////////////////////////////////////
23 
24 #include "TList.h"
25 #include "TString.h"
26 
27 class TBranch;
28 class TBranchElement;
29 class TClass;
30 class TStreamerElement;
31 class TTree;
32 class TVirtualStreamerInfo;
33 
34 namespace ROOT {
35 namespace Internal {
36  class TTreeGeneratorBase {
37  public:
38  TList fListOfHeaders; // List of included headers
39  TTree *fTree; // Pointer to the tree
40  TString fOptionStr; // User options as a string
41 
42  TTreeGeneratorBase(TTree *tree, const char *option);
43 
44  void AddHeader(TClass *cl);
45  void AddHeader(const char *classname);
46  TString GetContainedClassName(TBranchElement *branch, TStreamerElement *element, Bool_t ispointer);
47  TVirtualStreamerInfo *GetBaseClass(TStreamerElement *element);
48  TVirtualStreamerInfo *GetStreamerInfo(TBranch *branch, TIter current, TClass *cl);
49  };
50 }
51 }
52 
53 #endif