Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
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
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 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
69 virtual bool IsEquivalent(const TBranchProxyClassDescriptor* other);
70
71 void AddDescriptor(TBranchProxyDescriptor *desc, bool isBase);
72 bool IsLoaded() const;
73 static bool IsLoaded(const char*);
74 bool IsClones() const;
75 bool IsSTL() const;
76 ELocation GetIsClones() const;
78
79 void OutputDecl(FILE *hf, int offset, UInt_t /* maxVarname */);
80
81 ClassDefOverride(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:46
#define ClassDefOverride(name, id)
Definition Rtypes.h:341
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h offset
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
const char * GetBranchName() const
Get the branch name.
const char * GetRawSymbol() const
Get the real symbol name.
const char * GetSubBranchPrefix() const
Get the prefix from the branch name.
ELocation GetIsClones() const
Return whether the branch is inside, nested in or outside of a TClonesArray.
bool IsClones() const
Return true if this proxy is for a TClonesArray.
TBranchProxyClassDescriptor(const TBranchProxyClassDescriptor &b)
void OutputDecl(FILE *hf, int offset, UInt_t)
Output the declaration and implementation of this emulation class.
virtual bool IsEquivalent(const TBranchProxyClassDescriptor *other)
Return true if this description is the 'same' as the other decription.
void NameToSymbol()
Make the typename a proper class name without having the really deal with namespace and templates.
bool IsSTL() const
Return true if this proxy is for a TClonesArray.
UInt_t GetSplitLevel() const
Return the split level of the branch.
TString GetContainerName() const
Return the name of the container holding this class, if any.
TBranchProxyClassDescriptor & operator=(const TBranchProxyClassDescriptor &)
bool IsLoaded() const
Return true if the class needed by the branch is loaded.
void AddDescriptor(TBranchProxyDescriptor *desc, bool isBase)
Add a descriptor to this proxy.
/Hold the processed information about a TBranch while /TTreeProxyGenerator is parsing the TTree infor...
A doubly linked list.
Definition TList.h:38
The TNamed class is the base class for all named ROOT classes.
Definition TNamed.h:29
Basic string class.
Definition TString.h:139
A TTree represents a columnar dataset.
Definition TTree.h:79
Abstract Interface class describing Streamer information for one class.
ELocation
0 for the general case, 1 when this a split clases inside a TClonesArray, 2 when this is a split clas...
This file contains a specialised ROOT message handler to test for diagnostic in unit tests.