#ifndef ROOT_TDSet
#define ROOT_TDSet
#ifndef ROOT_TNamed
#include "TNamed.h"
#endif
class TChain;
class TCollection;
class TCut;
class TDSet;
class TEventList;
class TFileInfo;
class THashList;
class TIter;
class TList;
class TProof;
class TProofChain;
class TTree;
#include <set>
#include <list>
class TDSetElement : public TNamed {
public:
   typedef  std::list<std::pair<TDSetElement*, TString> > FriendsList_t;
   
   enum EStatusBits {
      kHasBeenLookedUp = BIT(15),
      kWriteV3 = BIT(16)
   };
private:
   TString          fDirectory;  
   Long64_t         fFirst;      
   Long64_t         fNum;        
   TString          fMsd;        
   Long64_t         fTDSetOffset;
                                 
   TEventList      *fEventList;  
   Bool_t           fValid;      
   Long64_t         fEntries;    
   TList           *fFriends;    
   Bool_t           HasBeenLookedUp() const { return TestBit(kHasBeenLookedUp); }
   TDSetElement& operator=(const TDSetElement &); 
public:
   TDSetElement();
   TDSetElement(const char *file, const char *objname = 0,
                const char *dir = 0, Long64_t first = 0, Long64_t num = -1,
                const char *msd = 0);
   TDSetElement(const TDSetElement& elem);
   virtual ~TDSetElement();
   virtual TList   *GetListOfFriends() const { return fFriends; }
   virtual void     AddFriend(TDSetElement *friendElement, const char *alias);
   virtual void     DeleteFriends();
   const char      *GetFileName() const { return GetName(); }
   Long64_t         GetFirst() const { return fFirst; }
   void             SetFirst(Long64_t first) { fFirst = first; }
   Long64_t         GetNum() const { return fNum; }
   Long64_t         GetEntries(Bool_t istree = kTRUE);
   void             SetEntries(Long64_t ent) { fEntries = ent; }
   const char      *GetMsd() const { return fMsd; }
   void             SetNum(Long64_t num) { fNum = num; }
   Bool_t           GetValid() const { return fValid; }
   const char      *GetObjName() const { return GetTitle(); }
   const char      *GetDirectory() const;
   void             Print(Option_t *options="") const;
   Long64_t         GetTDSetOffset() const { return fTDSetOffset; }
   void             SetTDSetOffset(Long64_t offset) { fTDSetOffset = offset; }
   TEventList      *GetEventList() const { return fEventList; }
   void             SetEventList(TEventList *aList) { fEventList = aList; }
   void             Validate(Bool_t isTree);
   void             Validate(TDSetElement *elem);
   void             Invalidate() { fValid = kFALSE; }
   Int_t            Compare(const TObject *obj) const;
   Bool_t           IsSortable() const { return kTRUE; }
   void             Lookup(Bool_t force = kFALSE);
   void             SetLookedUp() { SetBit(kHasBeenLookedUp); }
   ClassDef(TDSetElement,5)  
};
class TDSet : public TNamed {
public:
   
   enum EStatusBits {
      kWriteV3 = BIT(16)
   };
private:
   TString        fDir;         
   TString        fType;        
   TString        fObjName;     
   THashList     *fElements;    
   Bool_t         fIsTree;      
   TIter         *fIterator;    
   TEventList    *fEventList;   
   TProofChain   *fProofChain;  
   TDSet(const TDSet &);           
   void operator=(const TDSet &);  
protected:
   TDSetElement  *fCurrent;  
public:
   TDSet();
   TDSet(const char *name, const char *objname = "*",
         const char *dir = "/", const char *type = 0);
   TDSet(const TChain &chain, Bool_t withfriends = kTRUE);
   virtual ~TDSet();
   virtual Bool_t        Add(const char *file, const char *objname = 0,
                             const char *dir = 0, Long64_t first = 0,
                             Long64_t num = -1, const char *msd = 0);
   virtual Bool_t        Add(TDSet *set);
   virtual Bool_t        Add(TCollection *fileinfo);
   virtual void          AddFriend(TDSet *friendset, const char *alias);
   virtual Long64_t      Process(const char *selector, Option_t *option = "",
                                 Long64_t nentries = -1,
                                 Long64_t firstentry = 0,
                                 TEventList *evl = 0); 
   virtual Long64_t      Draw(const char *varexp, const char *selection,
                              Option_t *option = "", Long64_t nentries = -1,
                              Long64_t firstentry = 0); 
   virtual Long64_t      Draw(const char *varexp, const TCut &selection,
                              Option_t *option = "", Long64_t nentries = -1,
                              Long64_t firstentry = 0); 
   virtual void          Draw(Option_t *opt) { Draw(opt, "", "", 1000000000, 0); }
   Int_t                 ExportFileList(const char *filepath, Option_t *opt = "");
   void                  Print(Option_t *option="") const;
   void                  SetObjName(const char *objname);
   void                  SetDirectory(const char *dir);
   Bool_t                IsTree() const { return fIsTree; }
   Bool_t                IsValid() const { return !fType.IsNull(); }
   Bool_t                ElementsValid() const;
   const char           *GetType() const { return fType; }
   const char           *GetObjName() const { return fObjName; }
   const char           *GetDirectory() const { return fDir; }
   TList                *GetListOfElements() const { return (TList *)fElements; }
   Int_t                 Remove(TDSetElement *elem);
   virtual void          Reset();
   virtual TDSetElement *Next(Long64_t totalEntries = -1);
   TDSetElement         *Current() const { return fCurrent; };
   static Long64_t       GetEntries(Bool_t isTree, const char *filename,
                                    const char *path, const char *objname);
   void                  AddInput(TObject *obj);
   void                  ClearInput();
   TObject              *GetOutput(const char *name);
   TList                *GetOutputList();
   virtual void          StartViewer(); 
   virtual TTree        *GetTreeHeader(TProof *proof);
   virtual void          SetEventList(TEventList *evl) { fEventList = evl;}
   TEventList           *GetEventList() const {return fEventList; }
   void                  Validate();
   void                  Validate(TDSet *dset);
   void                  Lookup();
   void                  SetLookedUp();
   void                  SetWriteV3(Bool_t on = kTRUE);
   ClassDef(TDSet,5)  
};
#endif
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.