TProofChain.h

Go to the documentation of this file.
00001 // @(#)root/proof:$Id: TProofChain.h 30069 2009-09-08 15:23:21Z ganis $
00002 // Author: G. Ganis Nov 2006
00003 
00004 /*************************************************************************
00005  * Copyright (C) 1995-2005, 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_TProofChain
00013 #define ROOT_TProofChain
00014 
00015 
00016 //////////////////////////////////////////////////////////////////////////
00017 //                                                                      //
00018 // TProofChain                                                          //
00019 //                                                                      //
00020 // A TChain proxy on PROOF.                                             //
00021 // Uses an internal TDSet to handle processing.                         //
00022 //                                                                      //
00023 //////////////////////////////////////////////////////////////////////////
00024 
00025 #ifndef ROOT_TChain
00026 #include "TChain.h"
00027 #endif
00028 
00029 class TDSet;
00030 class TDrawFeedback;
00031 class TList;
00032 class TProof;
00033 
00034 class TProofChain : public TChain {
00035 
00036 public:
00037    // TProofChain constants
00038    enum { kOwnsChain   = BIT(19) };
00039 
00040 private:
00041    void           FillDrawAttributes(TProof *p);
00042 
00043 protected:
00044    TChain        *fChain;            // mother chain: needed for the browsing list
00045    TDSet         *fSet;              // TDSet
00046    TDrawFeedback *fDrawFeedback;     // feedback handler
00047 
00048 public:
00049    TProofChain();
00050    TProofChain(TChain *chain, Bool_t gettreeheader);
00051    TProofChain(TDSet *dset, Bool_t gettreeheader);
00052    virtual ~TProofChain();
00053 
00054    virtual void         Browse(TBrowser *b);
00055    Int_t                Debug() const {return fDebug;}
00056    virtual Long64_t     Draw(const char *varexp, const TCut &selection, Option_t *option=""
00057                              ,Long64_t nentries=1000000000, Long64_t firstentry=0);
00058    virtual Long64_t     Draw(const char *varexp, const char *selection, Option_t *option=""
00059                              ,Long64_t nentries=1000000000, Long64_t firstentry=0); // *MENU*
00060    virtual void         Draw(Option_t *opt) { Draw(opt, "", "", 1000000000, 0); }
00061    virtual TBranch     *FindBranch(const char *name);
00062    virtual TLeaf       *FindLeaf(const char *name);
00063    virtual TBranch     *GetBranch(const char *name);
00064    virtual Bool_t       GetBranchStatus(const char *branchname) const;
00065    virtual Long64_t     GetEntries() const;
00066    virtual Long64_t     GetEntries(const char *sel);
00067    virtual TList       *GetListOfClones() { return 0; }
00068    virtual TObjArray   *GetListOfBranches() {return (fTree ? fTree->GetListOfBranches() : (TObjArray *)0); }
00069    virtual TObjArray   *GetListOfLeaves()   {return (fTree ? fTree->GetListOfLeaves() : (TObjArray *)0);}
00070    virtual TList       *GetListOfFriends()    const {return 0;}
00071    virtual TList       *GetListOfAliases() const {return 0;}
00072 
00073     // GetMakeClass is left non-virtual for efficiency reason.
00074     // Making it virtual affects the performance of the I/O
00075            Int_t        GetMakeClass() const {return fMakeClass;}
00076 
00077    TVirtualTreePlayer  *GetPlayer();
00078    virtual Long64_t     GetReadEntry()  const;
00079    Bool_t               HasTreeHeader() const { return (fTree ? kTRUE : kFALSE); }
00080    virtual Long64_t     Process(const char *filename, Option_t *option="",
00081                                 Long64_t nentries=1000000000, Long64_t firstentry=0); // *MENU*
00082    virtual void         Progress(Long64_t total, Long64_t processed);
00083    virtual Long64_t     Process(TSelector *selector, Option_t *option="",
00084                                 Long64_t nentries=1000000000, Long64_t firstentry=0);
00085    virtual void         SetDebug(Int_t level=1, Long64_t min=0, Long64_t max=9999999); // *MENU*
00086    virtual void         SetEventList(TEventList *evlist) { fEventList = evlist; }
00087    virtual void         SetEntryList(TEntryList *enlist, const Option_t *) { fEntryList = enlist; }
00088    virtual void         SetName(const char *name); // *MENU*
00089    virtual void         ConnectProof();
00090    virtual void         ReleaseProof();
00091 
00092    ClassDef(TProofChain,0)  //TChain proxy for running chains on PROOF
00093 };
00094 
00095 #endif

Generated on Tue Jul 5 14:27:57 2011 for ROOT_528-00b_version by  doxygen 1.5.1