TLeafC.h

Go to the documentation of this file.
00001 // @(#)root/tree:$Id: TLeafC.h 36407 2010-10-22 02:04:08Z pcanal $
00002 // Author: Rene Brun   17/03/97
00003 
00004 /*************************************************************************
00005  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
00006  * All rights reserved.                                                  *
00007  *                                                                       *
00008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
00009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
00010  *************************************************************************/
00011 
00012 #ifndef ROOT_TLeafC
00013 #define ROOT_TLeafC
00014 
00015 
00016 //////////////////////////////////////////////////////////////////////////
00017 //                                                                      //
00018 // TLeafC                                                               //
00019 //                                                                      //
00020 // A TLeaf for a variable length string.                                //
00021 //                                                                      //
00022 //////////////////////////////////////////////////////////////////////////
00023 
00024 #ifndef ROOT_TLeaf
00025 #include "TLeaf.h"
00026 #endif
00027 
00028 class TLeafC : public TLeaf {
00029 
00030 protected:
00031    Int_t        fMinimum;         //Minimum value if leaf range is specified
00032    Int_t        fMaximum;         //Maximum value if leaf range is specified
00033    Char_t       *fValue;          //!Pointer to data buffer
00034    Char_t       **fPointer;       //!Address of pointer to data buffer
00035 
00036 public:
00037    TLeafC();
00038    TLeafC(TBranch *parent, const char *name, const char *type);
00039    virtual ~TLeafC();
00040 
00041    virtual void    Export(TClonesArray *list, Int_t n);
00042    virtual void    FillBasket(TBuffer &b);
00043    virtual Int_t   GetMaximum() const {return fMaximum;}
00044    virtual Int_t   GetMinimum() const {return fMinimum;}
00045    const char     *GetTypeName() const;
00046    Double_t        GetValue(Int_t i=0) const;
00047    virtual void   *GetValuePointer() const {return fValue;}
00048    char           *GetValueString()  const {return fValue;}
00049    virtual void    Import(TClonesArray *list, Int_t n);
00050    virtual void    PrintValue(Int_t i=0) const;
00051    virtual void    ReadBasket(TBuffer &b);
00052    virtual void    ReadBasketExport(TBuffer &b, TClonesArray *list, Int_t n);
00053    virtual void    ReadValue(istream & s);
00054    virtual void    SetAddress(void *add=0);
00055    
00056    ClassDef(TLeafC,1);  //A TLeaf for a variable length string.
00057 };
00058 
00059 inline Double_t TLeafC::GetValue(Int_t i) const { return fValue[i]; }
00060 
00061 #endif

Generated on Tue Jul 5 14:26:59 2011 for ROOT_528-00b_version by  doxygen 1.5.1