Logo ROOT   6.12/07
Reference Guide
TChainElement.h
Go to the documentation of this file.
1 // @(#)root/tree:$Id$
2 // Author: Rene Brun 11/02/97
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
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 #ifndef ROOT_TChainElement
12 #define ROOT_TChainElement
13 
14 
15 //////////////////////////////////////////////////////////////////////////
16 // //
17 // TChainElement //
18 // //
19 // Describes a component of a TChain. //
20 // //
21 //////////////////////////////////////////////////////////////////////////
22 
23 
24 #include "TNamed.h"
25 
26 class TBranch;
27 
28 class TChainElement : public TNamed {
29 
30  // TChainElement status bits
31  enum EStatusBits {
33  };
34 
35 protected:
36  Long64_t fEntries; ///< Number of entries in the tree of this chain element
37  Int_t fNPackets; ///< Number of packets
38  Int_t fPacketSize; ///< Number of events in one packet for parallel root
39  Int_t fStatus; ///< branch status when used as a branch
40  void *fBaddress; ///<! branch address when used as a branch
41  TString fBaddressClassName; ///<! Name of the class pointed to by fBaddress
42  UInt_t fBaddressType; ///<! Type of the value pointed to by fBaddress
43  Bool_t fBaddressIsPtr; ///<! True if the address is a pointer to an address
44  char *fPackets; ///<! Packet descriptor string
45  TBranch **fBranchPtr; ///<! Address of user branch pointer (to updated upon loading a file)
46  Int_t fLoadResult; ///<! Return value of TChain::LoadTree(); 0 means success
47 
48 public:
49  TChainElement();
50  TChainElement(const char *title, const char *filename);
51  virtual ~TChainElement();
52  virtual void CreatePackets();
53  virtual void *GetBaddress() const {return fBaddress;}
54  virtual const char *GetBaddressClassName() const { return fBaddressClassName; }
55  virtual Bool_t GetBaddressIsPtr() const { return fBaddressIsPtr; }
56  virtual UInt_t GetBaddressType() const { return fBaddressType; }
57  virtual TBranch **GetBranchPtr() const { return fBranchPtr; }
58  virtual Long64_t GetEntries() const {return fEntries;}
59  Int_t GetLoadResult() const { return fLoadResult; }
60  virtual char *GetPackets() const {return fPackets;}
61  virtual Int_t GetPacketSize() const {return fPacketSize;}
62  virtual Int_t GetStatus() const {return fStatus;}
64  virtual void ls(Option_t *option="") const;
65  virtual void SetBaddress(void *add) {fBaddress = add;}
66  virtual void SetBaddressClassName(const char* clname) { fBaddressClassName = clname; }
67  virtual void SetBaddressIsPtr(Bool_t isptr) { fBaddressIsPtr = isptr; }
68  virtual void SetBaddressType(UInt_t type) { fBaddressType = type; }
69  virtual void SetBranchPtr(TBranch **ptr) { fBranchPtr = ptr; }
70  void SetLoadResult(Int_t result) { fLoadResult = result; }
71  virtual void SetLookedUp(Bool_t y = kTRUE);
72  virtual void SetNumberEntries(Long64_t n) {fEntries=n;}
73  virtual void SetPacketSize(Int_t size = 100);
74  virtual void SetStatus(Int_t status) {fStatus = status;}
75 
76  ClassDef(TChainElement,2); //A chain element
77 };
78 
79 #endif
80 
virtual void SetBaddressIsPtr(Bool_t isptr)
Definition: TChainElement.h:67
virtual UInt_t GetBaddressType() const
Definition: TChainElement.h:56
long long Long64_t
Definition: RtypesCore.h:69
Bool_t fBaddressIsPtr
! True if the address is a pointer to an address
Definition: TChainElement.h:43
const char Option_t
Definition: RtypesCore.h:62
UInt_t fBaddressType
! Type of the value pointed to by fBaddress
Definition: TChainElement.h:42
virtual Int_t GetStatus() const
Definition: TChainElement.h:62
virtual void * GetBaddress() const
Definition: TChainElement.h:53
#define BIT(n)
Definition: Rtypes.h:78
Int_t fNPackets
Number of packets.
Definition: TChainElement.h:37
void SetLoadResult(Int_t result)
Definition: TChainElement.h:70
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
Definition: TObject.h:172
Basic string class.
Definition: TString.h:125
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
virtual void SetLookedUp(Bool_t y=kTRUE)
Set/Reset the looked-up bit.
A TChainElement describes a component of a TChain.
Definition: TChainElement.h:28
TBranch ** fBranchPtr
! Address of user branch pointer (to updated upon loading a file)
Definition: TChainElement.h:45
virtual Bool_t HasBeenLookedUp()
Definition: TChainElement.h:63
virtual char * GetPackets() const
Definition: TChainElement.h:60
Int_t fLoadResult
! Return value of TChain::LoadTree(); 0 means success
Definition: TChainElement.h:46
#define ClassDef(name, id)
Definition: Rtypes.h:320
virtual void SetBaddressClassName(const char *clname)
Definition: TChainElement.h:66
virtual void SetPacketSize(Int_t size=100)
Set number of entries per packet for parallel root.
char * fPackets
! Packet descriptor string
Definition: TChainElement.h:44
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:29
virtual Long64_t GetEntries() const
Definition: TChainElement.h:58
virtual void SetBranchPtr(TBranch **ptr)
Definition: TChainElement.h:69
virtual ~TChainElement()
Default destructor for a chain element.
void * fBaddress
! branch address when used as a branch
Definition: TChainElement.h:40
virtual void SetStatus(Int_t status)
Definition: TChainElement.h:74
virtual Bool_t GetBaddressIsPtr() const
Definition: TChainElement.h:55
virtual TBranch ** GetBranchPtr() const
Definition: TChainElement.h:57
unsigned int UInt_t
Definition: RtypesCore.h:42
virtual void SetNumberEntries(Long64_t n)
Definition: TChainElement.h:72
Long64_t fEntries
Number of entries in the tree of this chain element.
Definition: TChainElement.h:36
virtual void CreatePackets()
Initialize the packet descriptor string.
EStatusBits
Definition: TObject.h:57
int type
Definition: TGX11.cxx:120
Double_t y[n]
Definition: legend1.C:17
Int_t fPacketSize
Number of events in one packet for parallel root.
Definition: TChainElement.h:38
TString fBaddressClassName
! Name of the class pointed to by fBaddress
Definition: TChainElement.h:41
virtual void SetBaddressType(UInt_t type)
Definition: TChainElement.h:68
Int_t GetLoadResult() const
Definition: TChainElement.h:59
virtual void SetBaddress(void *add)
Definition: TChainElement.h:65
virtual Int_t GetPacketSize() const
Definition: TChainElement.h:61
virtual const char * GetBaddressClassName() const
Definition: TChainElement.h:54
Int_t fStatus
branch status when used as a branch
Definition: TChainElement.h:39
TChainElement()
Default constructor for a chain element.
A TTree is a list of TBranches.
Definition: TBranch.h:59
const Bool_t kTRUE
Definition: RtypesCore.h:87
const Int_t n
Definition: legend1.C:16
virtual void ls(Option_t *option="") const
List files in the chain.