00001 // @(#)root/tree:$Id: TTreeRow.h 20882 2007-11-19 11:31:26Z rdm $ 00002 // Author: Fons Rademakers 30/11/99 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_TTreeRow 00013 #define ROOT_TTreeRow 00014 00015 00016 ////////////////////////////////////////////////////////////////////////// 00017 // // 00018 // TTreeRow // 00019 // // 00020 // Class defining interface to a row of a TTree query result. // 00021 // Objects of this class are created by TTreeResult methods. // 00022 // // 00023 // Related classes are TTreeResult. // 00024 // // 00025 ////////////////////////////////////////////////////////////////////////// 00026 00027 #ifndef ROOT_TSQLRow 00028 #include "TSQLRow.h" 00029 #endif 00030 00031 class TTreeRow : public TSQLRow { 00032 00033 friend class TTreeResult; 00034 friend class TTreePlayer; 00035 00036 private: 00037 Int_t fColumnCount; // number of columns in row 00038 Int_t *fFields; //[fColumnCount] index in fRow of the end of each field 00039 char *fRow; // string with all the fColumnCount fields 00040 TTreeRow *fOriginal; //! pointer to original row 00041 00042 TTreeRow(TSQLRow *original); 00043 Bool_t IsValid(Int_t field); 00044 00045 public: 00046 TTreeRow(); 00047 TTreeRow(Int_t nfields); 00048 TTreeRow(Int_t nfields, const Int_t *fields, const char *row); 00049 virtual ~TTreeRow(); 00050 00051 void Close(Option_t *option=""); 00052 ULong_t GetFieldLength(Int_t field); 00053 const char *GetField(Int_t field); 00054 void SetRow(const Int_t *fields, const char *row); 00055 00056 ClassDef(TTreeRow,1) // One row of an TTree query result 00057 }; 00058 00059 #endif