TProofSuperMaster.h

Go to the documentation of this file.
00001 // @(#)root/proof:$Id: TProofSuperMaster.h 27171 2009-01-16 16:04:00Z ganis $
00002 // Author: Fons Rademakers   13/02/97
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_TProofSuperMaster
00013 #define ROOT_TProofSuperMaster
00014 
00015 
00016 //////////////////////////////////////////////////////////////////////////
00017 //                                                                      //
00018 // TProofSuperMaster                                                    //
00019 //                                                                      //
00020 // This class controls a Parallel ROOT Facility, PROOF, cluster.        //
00021 // It fires the slave servers, it keeps track of how many slaves are    //
00022 // running, it keeps track of the slaves running status, it broadcasts  //
00023 // messages to all slaves, it collects results, etc.                    //
00024 //                                                                      //
00025 //////////////////////////////////////////////////////////////////////////
00026 
00027 #ifndef ROOT_TProof
00028 #include "TProof.h"
00029 #endif
00030 #ifndef ROOT_TString
00031 #include "TString.h"
00032 #endif
00033 
00034 class TVirtualProofPlayer;
00035 class TDSet;
00036 
00037 class TProofSuperMaster : public TProof {
00038 
00039 friend class TProofPlayerSuperMaster;
00040 
00041 protected:
00042    Bool_t    StartSlaves(Bool_t);
00043    void      ValidateDSet(TDSet *dset);
00044    virtual   TVirtualProofPlayer *MakePlayer(const char *player = 0, TSocket *s = 0);
00045 
00046 public:
00047    TProofSuperMaster(const char *masterurl, const char *conffile = kPROOF_ConfFile,
00048                      const char *confdir = kPROOF_ConfDir, Int_t loglevel = 0,
00049                      const char *alias = 0, TProofMgr *mgr = 0);
00050    virtual ~TProofSuperMaster() { }
00051 
00052    Long64_t Process(TDSet *set, const char *selector,
00053                     Option_t *option = "", Long64_t nentries = -1,
00054                     Long64_t firstentry = 0);
00055    Long64_t Process(TFileCollection *fc, const char *sel, Option_t *o = "",
00056                     Long64_t nent = -1, Long64_t fst = 0)
00057                     { return TProof::Process(fc, sel, o, nent, fst); }
00058    Long64_t Process(const char *dsname, const char *sel,
00059                     Option_t *o = "", Long64_t nent = -1,
00060                     Long64_t fst = 0, TObject *enl = 0)
00061                     { return TProof::Process(dsname, sel, o, nent, fst, enl); }
00062    Long64_t Process(const char *sel, Long64_t nent, Option_t *o = "")
00063                     { return TProof::Process(sel, nent, o); }
00064 
00065    ClassDef(TProofSuperMaster,0) //PROOF control class for making submasters
00066 };
00067 
00068 #endif

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