Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
TTreeRow.h
Go to the documentation of this file.
1 // @(#)root/tree:$Id$
2 // Author: Fons Rademakers 30/11/99
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_TTreeRow
13 #define ROOT_TTreeRow
14 
15 
16 //////////////////////////////////////////////////////////////////////////
17 // //
18 // TTreeRow //
19 // //
20 // Class defining interface to a row of a TTree query result. //
21 // Objects of this class are created by TTreeResult methods. //
22 // //
23 // Related classes are TTreeResult. //
24 // //
25 //////////////////////////////////////////////////////////////////////////
26 
27 #include "TSQLRow.h"
28 
29 class TTreeRow : public TSQLRow {
30 
31 friend class TTreeResult;
32 friend class TTreePlayer;
33 
34 private:
35  Int_t fColumnCount; ///< number of columns in row
36  Int_t *fFields; ///<[fColumnCount] index in fRow of the end of each field
37  char *fRow; ///< string with all the fColumnCount fields
38  TTreeRow *fOriginal; ///<! pointer to original row
39 
40  TTreeRow(TSQLRow *original);
41  Bool_t IsValid(Int_t field);
42 
43  TTreeRow(const TTreeRow&); // Not implemented.
44  TTreeRow &operator=(const TTreeRow&); // Not implemented.
45 
46 public:
47  TTreeRow();
48  TTreeRow(Int_t nfields);
49  TTreeRow(Int_t nfields, const Int_t *fields, const char *row);
50  virtual ~TTreeRow();
51 
52  void Close(Option_t *option="");
53  ULong_t GetFieldLength(Int_t field);
54  const char *GetField(Int_t field);
55  void SetRow(const Int_t *fields, const char *row);
56 
57  ClassDef(TTreeRow,1) // One row of an TTree query result
58 };
59 
60 #endif