#ifndef ROOT_TDSet
#define ROOT_TDSet
#ifndef ROOT_TNamed
#include "TNamed.h"
#endif
#ifndef ROOT_TEventList
#include "TEventList.h"
#endif
#include <set>
#include <list>
class TList;
class TDSet;
class TEventList;
class TFileInfo;
class TCut;
class TTree;
class TChain;
class TProof;
class TEventList;
class TProofChain;
class TDSetElement : public TObject {
public:
typedef std::list<std::pair<TDSetElement*, TString> > FriendsList_t;
private:
enum EStatusBits {
kHasBeenLookedUp = BIT(15)
};
TString fFileName;
TString fObjName;
TString fDirectory;
Long64_t fFirst;
Long64_t fNum;
TString fMsd;
Long64_t fTDSetOffset;
TEventList *fEventList;
Bool_t fValid;
Long64_t fEntries;
FriendsList_t *fFriends;
Bool_t fIsTree;
Bool_t HasBeenLookedUp() const { return TestBit(kHasBeenLookedUp); }
public:
TDSetElement() { fValid = kFALSE; fEventList = 0; fEntries = -1; fFriends = 0; }
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 FriendsList_t *GetListOfFriends() const { return fFriends; }
virtual void AddFriend(TDSetElement *friendElement, const char *alias);
virtual void DeleteFriends();
const char *GetFileName() const { return fFileName; }
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;
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,3)
};
class TDSet : public TNamed {
private:
TString fDir;
TString fType;
TString fObjName;
TList *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(TList *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 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();
ClassDef(TDSet,3)
};
#endif
ROOT page - Class index - Class Hierarchy - Top of the page
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.