//  
// Author: stamm <mailto: stamm@physik.hu-berlin.de>
// Update: $Id: AtlMemTkAnalysisTask.h,v 1.4 2015/06/14 11:24:10 stamm Exp $
// Copyright: 2013 (C) stamm
//
#ifndef ATLAS_AtlMemTkAnalysisTask
#define ATLAS_AtlMemTkAnalysisTask
#ifndef ATLAS_AtlTask
#include <AtlTask.h>
#endif

class AtlMemTkAnalysisTask : public AtlTask {

private:
    TString *fRootScript;
    TString *fMemTkRunScript;
    TList   *fListOfUserEnvs;
    Int_t    fNSubjobs;
    Int_t    fJobid;

public:
    AtlMemTkAnalysisTask(const char* name  = "MemTkAnalysisTask",
			 const char* title = "MemTkAnalysisTask");
    virtual ~AtlMemTkAnalysisTask();
    virtual void ExecInteractiveJob(Option_t *option);
    virtual Bool_t ExecBatchJob(Option_t *option);
    virtual void ExecGridJob(Option_t *option);
    virtual void CreateRunScript(Option_t *option = "");
    virtual void ExecNAFBatchJob(const Option_t*) {;} // not supported
    virtual void CreateNAFBatchRunScript() {;} // not supported
    virtual void CreateGridRunScript();
    virtual void SubmitGridJob();
    void AddUserEnv(const char* env);
    virtual void Print(Option_t *option = "") const;
    virtual void SetMemTkRunScript(const char* script);

    inline void AddUserEnvs( TList* envs ) { fListOfUserEnvs->AddAll(envs); }
    inline void SetNSubjobs(Int_t njobs) { fNSubjobs = njobs; }
    inline void SetJobId(Int_t jobid) { fJobid = jobid; }
    
    ClassDef(AtlMemTkAnalysisTask,0) // Atl MemTk Analysis Task
};
#endif

 AtlMemTkAnalysisTask.h:1
 AtlMemTkAnalysisTask.h:2
 AtlMemTkAnalysisTask.h:3
 AtlMemTkAnalysisTask.h:4
 AtlMemTkAnalysisTask.h:5
 AtlMemTkAnalysisTask.h:6
 AtlMemTkAnalysisTask.h:7
 AtlMemTkAnalysisTask.h:8
 AtlMemTkAnalysisTask.h:9
 AtlMemTkAnalysisTask.h:10
 AtlMemTkAnalysisTask.h:11
 AtlMemTkAnalysisTask.h:12
 AtlMemTkAnalysisTask.h:13
 AtlMemTkAnalysisTask.h:14
 AtlMemTkAnalysisTask.h:15
 AtlMemTkAnalysisTask.h:16
 AtlMemTkAnalysisTask.h:17
 AtlMemTkAnalysisTask.h:18
 AtlMemTkAnalysisTask.h:19
 AtlMemTkAnalysisTask.h:20
 AtlMemTkAnalysisTask.h:21
 AtlMemTkAnalysisTask.h:22
 AtlMemTkAnalysisTask.h:23
 AtlMemTkAnalysisTask.h:24
 AtlMemTkAnalysisTask.h:25
 AtlMemTkAnalysisTask.h:26
 AtlMemTkAnalysisTask.h:27
 AtlMemTkAnalysisTask.h:28
 AtlMemTkAnalysisTask.h:29
 AtlMemTkAnalysisTask.h:30
 AtlMemTkAnalysisTask.h:31
 AtlMemTkAnalysisTask.h:32
 AtlMemTkAnalysisTask.h:33
 AtlMemTkAnalysisTask.h:34
 AtlMemTkAnalysisTask.h:35
 AtlMemTkAnalysisTask.h:36
 AtlMemTkAnalysisTask.h:37
 AtlMemTkAnalysisTask.h:38
 AtlMemTkAnalysisTask.h:39
 AtlMemTkAnalysisTask.h:40
 AtlMemTkAnalysisTask.h:41
 AtlMemTkAnalysisTask.h:42
 AtlMemTkAnalysisTask.h:43
 AtlMemTkAnalysisTask.h:44