// @(#)root/proof:$Id$
// Author: Fons Rademakers   13/02/97

/*************************************************************************
 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#ifndef ROOT_TProofCondor
#define ROOT_TProofCondor


//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TProofCondor                                                         //
//                                                                      //
// This class controls a Parallel ROOT Facility, PROOF, cluster.        //
// It fires the slave servers, it keeps track of how many slaves are    //
// running, it keeps track of the slaves running status, it broadcasts  //
// messages to all slaves, it collects results, etc.                    //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TProof
#include "TProof.h"
#endif
#ifndef ROOT_TString
#include "TString.h"
#endif

class TCondor;
class TTimer;

class TProofCondor : public TProof {

friend class TCondor;

private:
   TCondor *fCondor; //proxy for our Condor pool
   TTimer  *fTimer;  //timer for delayed Condor COD suspend

protected:
   Bool_t   StartSlaves(Bool_t);
   TString  GetJobAd();

public:
   TProofCondor(const char *masterurl, const char *conffile = kPROOF_ConfFile,
                const char *confdir = kPROOF_ConfDir, Int_t loglevel = 0,
                const char *alias = 0, TProofMgr *mgr = 0);
   virtual ~TProofCondor();
   virtual void SetActive() { TProof::SetActive(); }
   virtual void SetActive(Bool_t active);

   ClassDef(TProofCondor,0) //PROOF control class for slaves allocated by condor
};

#endif
 TProofCondor.h:1
 TProofCondor.h:2
 TProofCondor.h:3
 TProofCondor.h:4
 TProofCondor.h:5
 TProofCondor.h:6
 TProofCondor.h:7
 TProofCondor.h:8
 TProofCondor.h:9
 TProofCondor.h:10
 TProofCondor.h:11
 TProofCondor.h:12
 TProofCondor.h:13
 TProofCondor.h:14
 TProofCondor.h:15
 TProofCondor.h:16
 TProofCondor.h:17
 TProofCondor.h:18
 TProofCondor.h:19
 TProofCondor.h:20
 TProofCondor.h:21
 TProofCondor.h:22
 TProofCondor.h:23
 TProofCondor.h:24
 TProofCondor.h:25
 TProofCondor.h:26
 TProofCondor.h:27
 TProofCondor.h:28
 TProofCondor.h:29
 TProofCondor.h:30
 TProofCondor.h:31
 TProofCondor.h:32
 TProofCondor.h:33
 TProofCondor.h:34
 TProofCondor.h:35
 TProofCondor.h:36
 TProofCondor.h:37
 TProofCondor.h:38
 TProofCondor.h:39
 TProofCondor.h:40
 TProofCondor.h:41
 TProofCondor.h:42
 TProofCondor.h:43
 TProofCondor.h:44
 TProofCondor.h:45
 TProofCondor.h:46
 TProofCondor.h:47
 TProofCondor.h:48
 TProofCondor.h:49
 TProofCondor.h:50
 TProofCondor.h:51
 TProofCondor.h:52
 TProofCondor.h:53
 TProofCondor.h:54
 TProofCondor.h:55
 TProofCondor.h:56
 TProofCondor.h:57
 TProofCondor.h:58
 TProofCondor.h:59
 TProofCondor.h:60