// @(#)root/tree:$Name: $:$Id: TLeafElement.h,v 1.10 2002/01/02 21:47:09 brun Exp $
// Author: Rene Brun 14/01/2001
/*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_TLeafElement
#define ROOT_TLeafElement
//////////////////////////////////////////////////////////////////////////
// //
// TLeafElement //
// //
// A TLeaf for a general object derived from TObject. //
// //
//////////////////////////////////////////////////////////////////////////
#ifndef ROOT_TLeaf
#include "TLeaf.h"
#endif
#ifndef ROOT_TBranchElement
#include "TBranchElement.h"
#endif
class TMethodCall;
class TLeafElement : public TLeaf {
protected:
char *fAbsAddress; //! Absolute leaf Address
Int_t fID; //element serial number in fInfo
Int_t fType; //leaf type
public:
TLeafElement();
TLeafElement(const char *name, Int_t id, Int_t type);
virtual ~TLeafElement();
virtual Int_t GetLen() const {return ((TBranchElement*)fBranch)->GetNdata()*fLen;}
TMethodCall *GetMethodCall(const char *name);
virtual Int_t GetMaximum() const {return ((TBranchElement*)fBranch)->GetMaximum();}
virtual Int_t GetNdata() const {return ((TBranchElement*)fBranch)->GetNdata()*fLen;}
virtual const char *GetTypeName() const {return ((TBranchElement*)fBranch)->GetTypeName();}
virtual Double_t GetValue(Int_t i=0) const {return ((TBranchElement*)fBranch)->GetValue(i, fLen, kFALSE);}
virtual Double_t GetValueSubArray(Int_t i=0, Int_t j=0) const {return ((TBranchElement*)fBranch)->GetValue(i, j, kTRUE);}
virtual void *GetValuePointer() const { return ((TBranchElement*)fBranch)->GetValuePointer(); }
virtual Bool_t IsOnTerminalBranch() const;
virtual void PrintValue(Int_t i=0) const {((TBranchElement*)fBranch)->PrintValue(i);}
virtual void SetLeafCount(TLeaf *leaf) {fLeafCount = leaf;}
ClassDef(TLeafElement,1) //A TLeaf for a general object derived from TObject.
};
#endif
syntax highlighted by Code2HTML, v. 0.9.1