// @(#)root/treeplayer:$Name: $:$Id: TBranchProxyClassDescriptor.h,v 1.2 2004/06/25 22:45:41 rdm Exp $ // Author: Philippe Canal 06/06/2004 /************************************************************************* * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers and al. * * All rights reserved. * * * * For the licensing terms see $ROOTSYS/LICENSE. * * For the list of contributors see $ROOTSYS/README/CREDITS. * *************************************************************************/ #ifndef ROOT_TBranchProxyClassDescriptor #define ROOT_TBranchProxyClassDescriptor #ifndef ROOT_TList #include "TList.h" #endif #ifndef ROOT_TNamed #include "TNamed.h" #endif class TTree; namespace ROOT { class TBranchProxyDescriptor; class TBranchProxyClassDescriptor : public TNamed { public: typedef enum { kOut=0, kClones, kInsideClones } EInClones; // for IsClones private: TList fListOfSubProxies; TList fListOfBaseProxies; UInt_t fIsClones; // 1 for the general case, 2 when this a split clases inside a TClonesArray. bool fIsLeafList; // true if the branch was constructed from a leaf list. UInt_t fSplitLevel; TString fRawSymbol; TString fBranchName; TString fSubBranchPrefix; UInt_t fMaxDatamemberType; void NameToSymbol(); public: TBranchProxyClassDescriptor(const char *type, const char *branchname, UInt_t isclones, UInt_t splitlevel); TBranchProxyClassDescriptor(const char *branchname); TBranchProxyClassDescriptor(const char *type, const char *branchname, const char *branchPrefix, UInt_t isclones, UInt_t splitlevel); const char* GetBranchName() const; const char* GetSubBranchPrefix() const; const char* GetRawSymbol() const; UInt_t GetSplitLevel() const; #if !defined(_MSC_VER) || (_MSC_VER>1300) using TObject::IsEqual; #else using TNamed::IsEqual; #endif bool IsEqual(const TBranchProxyClassDescriptor* other); void AddDescriptor(TBranchProxyDescriptor *desc, bool isBase); Bool_t IsLoaded() const; Bool_t IsClones() const; UInt_t GetIsClones() const; void OutputDecl(FILE *hf, int offset, UInt_t /* maxVarname */); ClassDef(TBranchProxyClassDescriptor,0); }; } #endif