TLeafD.h

Go to the documentation of this file.
00001 // @(#)root/tree:$Id: TLeafD.h 36407 2010-10-22 02:04:08Z pcanal $
00002 // Author: Rene Brun   12/01/96
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_TLeafD
00013 #define ROOT_TLeafD
00014 
00015 
00016 //////////////////////////////////////////////////////////////////////////
00017 //                                                                      //
00018 // TLeafD                                                               //
00019 //                                                                      //
00020 // A TLeaf for a 64 bit floating point data type.                       //
00021 //                                                                      //
00022 //////////////////////////////////////////////////////////////////////////
00023 
00024 #ifndef ROOT_TLeaf
00025 #include "TLeaf.h"
00026 #endif
00027 
00028 class TLeafD : public TLeaf {
00029 
00030 protected:
00031    Double_t       fMinimum;         //Minimum value if leaf range is specified
00032    Double_t       fMaximum;         //Maximum value if leaf range is specified
00033    Double_t       *fValue;          //!Pointer to data buffer
00034    Double_t       **fPointer;       //!Address of pointer to data buffer
00035    
00036 public:
00037    TLeafD();
00038    TLeafD(TBranch *parent, const char *name, const char *type);
00039    virtual ~TLeafD();
00040 
00041    virtual void    Export(TClonesArray *list, Int_t n);
00042    virtual void    FillBasket(TBuffer &b);
00043    const char     *GetTypeName() const {return "Double_t";}
00044    Double_t        GetValue(Int_t i=0) const;
00045    virtual void   *GetValuePointer() const {return fValue;}
00046    virtual void    Import(TClonesArray *list, Int_t n);
00047    virtual void    PrintValue(Int_t i=0) const;
00048    virtual void    ReadBasket(TBuffer &b);
00049    virtual void    ReadBasketExport(TBuffer &b, TClonesArray *list, Int_t n);
00050    virtual void    ReadValue(istream & s);
00051    virtual void    SetAddress(void *add=0);
00052    
00053    ClassDef(TLeafD,1);  //A TLeaf for a 64 bit floating point data type.
00054 };
00055 
00056 // if leaf is a simple type, i must be set to 0
00057 // if leaf is an array, i is the array element number to be returned
00058 inline Double_t TLeafD::GetValue(Int_t i) const { return fValue[i]; }
00059 
00060 #endif

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