// @(#)root/tree:$Id$
// Author: Rene Brun   06/04/96

/*************************************************************************
 * 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_TNtupleD
#define ROOT_TNtupleD


//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TNtupleD                                                             //
//                                                                      //
// A simple tree with branches of doubles.                              //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TTree
#include "TTree.h"
#endif

class TBrowser;

class TNtupleD : public TTree {

protected:
   Int_t       fNvar;            //  Number of columns
   Double_t    *fArgs;           //! [fNvar] Array of variables

   virtual Int_t  Fill();

private:
   TNtupleD(const TNtupleD&);             // not implemented
   TNtupleD& operator=(const TNtupleD&);  // not implemented

public:
   TNtupleD();
   TNtupleD(const char *name,const char *title, const char *varlist, Int_t bufsize=32000);
   virtual ~TNtupleD();

   virtual void      Browse(TBrowser *b);
   virtual Int_t     Fill(const Double_t *x);
   virtual Int_t     Fill(Double_t x0, Double_t x1, Double_t x2=0, Double_t x3=0,
                          Double_t x4=0, Double_t x5=0, Double_t x6=0, Double_t x7=0,
                          Double_t x8=0, Double_t x9=0, Double_t x10=0,
                          Double_t x11=0, Double_t x12=0, Double_t x13=0,
                          Double_t x14=0);
   virtual Int_t     GetNvar() const { return fNvar; }
           Double_t *GetArgs() const { return fArgs; }
   virtual Long64_t  ReadStream(std::istream& inputstream, const char *branchDescriptor="", char delimiter = ' ');
   virtual void      ResetBranchAddress(TBranch *);
           void      ResetBranchAddresses();

   ClassDef(TNtupleD,1)  //A simple tree with branches of floats.
};

#endif
 TNtupleD.h:1
 TNtupleD.h:2
 TNtupleD.h:3
 TNtupleD.h:4
 TNtupleD.h:5
 TNtupleD.h:6
 TNtupleD.h:7
 TNtupleD.h:8
 TNtupleD.h:9
 TNtupleD.h:10
 TNtupleD.h:11
 TNtupleD.h:12
 TNtupleD.h:13
 TNtupleD.h:14
 TNtupleD.h:15
 TNtupleD.h:16
 TNtupleD.h:17
 TNtupleD.h:18
 TNtupleD.h:19
 TNtupleD.h:20
 TNtupleD.h:21
 TNtupleD.h:22
 TNtupleD.h:23
 TNtupleD.h:24
 TNtupleD.h:25
 TNtupleD.h:26
 TNtupleD.h:27
 TNtupleD.h:28
 TNtupleD.h:29
 TNtupleD.h:30
 TNtupleD.h:31
 TNtupleD.h:32
 TNtupleD.h:33
 TNtupleD.h:34
 TNtupleD.h:35
 TNtupleD.h:36
 TNtupleD.h:37
 TNtupleD.h:38
 TNtupleD.h:39
 TNtupleD.h:40
 TNtupleD.h:41
 TNtupleD.h:42
 TNtupleD.h:43
 TNtupleD.h:44
 TNtupleD.h:45
 TNtupleD.h:46
 TNtupleD.h:47
 TNtupleD.h:48
 TNtupleD.h:49
 TNtupleD.h:50
 TNtupleD.h:51
 TNtupleD.h:52
 TNtupleD.h:53
 TNtupleD.h:54
 TNtupleD.h:55
 TNtupleD.h:56
 TNtupleD.h:57
 TNtupleD.h:58
 TNtupleD.h:59
 TNtupleD.h:60
 TNtupleD.h:61
 TNtupleD.h:62
 TNtupleD.h:63