Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:12:17

0001 // @(#)root/tree:$Id$
0002 // Author: Rene Brun   06/04/96
0003 
0004 /*************************************************************************
0005  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
0006  * All rights reserved.                                                  *
0007  *                                                                       *
0008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0010  *************************************************************************/
0011 
0012 #ifndef ROOT_TNtuple
0013 #define ROOT_TNtuple
0014 
0015 
0016 //////////////////////////////////////////////////////////////////////////
0017 //                                                                      //
0018 // TNtuple                                                              //
0019 //                                                                      //
0020 // A simple tree with branches of floats.                               //
0021 //                                                                      //
0022 //////////////////////////////////////////////////////////////////////////
0023 
0024 #include "TTree.h"
0025 
0026 class TBrowser;
0027 
0028 class TNtuple : public TTree {
0029 
0030 protected:
0031    Int_t       fNvar;            ///<  Number of columns
0032    Float_t    *fArgs;            ///<! [fNvar] Array of variables
0033 
0034    Int_t  Fill() override;
0035 
0036 private:
0037    TNtuple(const TNtuple&) = delete;
0038    TNtuple& operator=(const TNtuple&) = delete;
0039 
0040 public:
0041    TNtuple();
0042    TNtuple(const char *name,const char *title, const char *varlist, Int_t bufsize=32000);
0043    ~TNtuple() override;
0044 
0045            void      Browse(TBrowser *b) override;
0046            TTree    *CloneTree(Long64_t nentries = -1, Option_t* option = "") override;
0047    virtual Int_t     Fill(const Float_t *x);
0048            Int_t     Fill(Int_t x0) { return Fill((Float_t)x0); }
0049            Int_t     Fill(Double_t x0) { return Fill((Float_t)x0); }
0050    virtual Int_t     Fill(Float_t x0, Float_t x1=0, Float_t x2=0, Float_t x3=0,
0051                           Float_t x4=0, Float_t x5=0, Float_t x6=0, Float_t x7=0,
0052                           Float_t x8=0, Float_t x9=0, Float_t x10=0,
0053                           Float_t x11=0, Float_t x12=0, Float_t x13=0,
0054                           Float_t x14=0);
0055    virtual Int_t     GetNvar() const { return fNvar; }
0056            Float_t  *GetArgs() const { return fArgs; }
0057            Long64_t  ReadStream(std::istream& inputStream, const char *branchDescriptor="", char delimiter = ' ') override;
0058            void      ResetBranchAddress(TBranch *) override;
0059            void      ResetBranchAddresses() override;
0060 
0061    ClassDefOverride(TNtuple,2);  //A simple tree with branches of floats.
0062 };
0063 
0064 #endif