Logo ROOT   6.16/01
Reference Guide
TBranchProxyClassDescriptor.h
Go to the documentation of this file.
1// @(#)root/treeplayer:$Id$
2// Author: Philippe Canal 06/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_TBranchProxyClassDescriptor
13#define ROOT_TBranchProxyClassDescriptor
14
15#include "TList.h"
16#include "TNamed.h"
17
18class TTree;
20
21namespace ROOT {
22namespace Internal {
23
24 class TBranchProxyDescriptor;
25
27
28 public:
29 enum ELocation { kOut=0, kClones, kSTL, kInsideClones, kInsideSTL }; // for IsClones
30 private:
33 ELocation fIsClones; // 0 for the general case, 1 when this a split clases inside a TClonesArray, 2 when this is a split classes inside an STL container.
34 TString fContainerName; // Name of the container if any
35 Bool_t fIsLeafList; // true if the branch was constructed from a leaf list.
37
41 TVirtualStreamerInfo *fInfo; // TVirtualStreamerInfo describing this class
42
44
45 void NameToSymbol();
46
49
50 public:
51
52 TBranchProxyClassDescriptor(const char *type, TVirtualStreamerInfo *info, const char *branchname,
53 ELocation isclones, UInt_t splitlevel, const TString &containerName);
54 TBranchProxyClassDescriptor(const char *branchname);
55
56 TBranchProxyClassDescriptor(const char *type, TVirtualStreamerInfo *info, const char *branchname,
57 const char *branchPrefix, ELocation isclones,
58 UInt_t splitlevel, const TString &containerName);
59
60 const char* GetBranchName() const;
61 const char* GetSubBranchPrefix() const;
62
63 const char* GetRawSymbol() const;
64
65 TVirtualStreamerInfo *GetInfo() const { return fInfo; }
66
67 UInt_t GetSplitLevel() const;
68
70
72 Bool_t IsLoaded() const;
73 static Bool_t IsLoaded(const char*);
74 Bool_t IsClones() const;
75 Bool_t IsSTL() const;
76 ELocation GetIsClones() const;
78
79 void OutputDecl(FILE *hf, int offset, UInt_t /* maxVarname */);
80
81 ClassDef(TBranchProxyClassDescriptor,0); // Class to cache the information we gathered about the branch and its content
82 };
83
84} // namespace Internal
85} // namespace ROOT
86
87#endif
#define b(i)
Definition: RSha256.hxx:100
unsigned int UInt_t
Definition: RtypesCore.h:42
bool Bool_t
Definition: RtypesCore.h:59
#define ClassDef(name, id)
Definition: Rtypes.h:324
int type
Definition: TGX11.cxx:120
TBranchProxyClassDescriptor(const TBranchProxyClassDescriptor &b)
void AddDescriptor(TBranchProxyDescriptor *desc, Bool_t isBase)
virtual Bool_t IsEquivalent(const TBranchProxyClassDescriptor *other)
TBranchProxyClassDescriptor & operator=(const TBranchProxyClassDescriptor &)
A doubly linked list.
Definition: TList.h:44
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:29
Basic string class.
Definition: TString.h:131
A TTree object has a header with a name and a title.
Definition: TTree.h:71
Abstract Interface class describing Streamer information for one class.
Namespace for new ROOT classes and functions.
Definition: StringConv.hxx:21