//  
// Author: Soeren Stamm <mailto: stamm@physik.hu-berlin.de>
// Update: $Id: AtlHforSplittingTask.h,v 1.1 2013/07/20 10:15:15 stamm Exp $
// Copyright: 2013 (C) Soeren Stamm
//
#ifndef ATLAS_AtlHforSplittingTask
#define ATLAS_AtlHforSplittingTask
#ifndef ROOT_TTask
#include <TTask.h>
#endif
#ifndef ROOT_TList
#include <TList.h>
#endif
#ifndef ATLAS_AtlSample
#include <AtlSample.h>
#endif
#ifndef ATLAS_AtlTask
#include <AtlTask.h>
#endif

class AtlHforSplittingTask : public AtlTask {
    
  protected:
    TString     *fInputTreeName;    // Name of the input tree
    TString     *fRootScript;       // Path to Root script used f
    TList       *fListOfUserEnvs;   // List of user environment variables
    
    
  public:
    AtlHforSplittingTask(const char* name, const char* title);
    virtual ~AtlHforSplittingTask();
    
    void SetInputTreeName(const char* TreeName);
    void CreateRootScript(Option_t *option);
    virtual void CreateRunScript(Option_t *option = "");
    virtual void ExecInteractiveJob(Option_t *option);
    virtual Bool_t ExecBatchJob(Option_t *option);
    void AddUserEnv(const char* env);

    virtual void ExecGridJob(const Option_t*);
    virtual void ExecNAFBatchJob(const Option_t*);
    virtual void CreateNAFBatchRunScript();
    virtual void CreateGridRunScript();
    static void HforSplit(const char* InputFile, const char* TreeName );
    
    ClassDef(AtlHforSplittingTask,0) // Hfor Splitting task
};
#endif
 AtlHforSplittingTask.h:1
 AtlHforSplittingTask.h:2
 AtlHforSplittingTask.h:3
 AtlHforSplittingTask.h:4
 AtlHforSplittingTask.h:5
 AtlHforSplittingTask.h:6
 AtlHforSplittingTask.h:7
 AtlHforSplittingTask.h:8
 AtlHforSplittingTask.h:9
 AtlHforSplittingTask.h:10
 AtlHforSplittingTask.h:11
 AtlHforSplittingTask.h:12
 AtlHforSplittingTask.h:13
 AtlHforSplittingTask.h:14
 AtlHforSplittingTask.h:15
 AtlHforSplittingTask.h:16
 AtlHforSplittingTask.h:17
 AtlHforSplittingTask.h:18
 AtlHforSplittingTask.h:19
 AtlHforSplittingTask.h:20
 AtlHforSplittingTask.h:21
 AtlHforSplittingTask.h:22
 AtlHforSplittingTask.h:23
 AtlHforSplittingTask.h:24
 AtlHforSplittingTask.h:25
 AtlHforSplittingTask.h:26
 AtlHforSplittingTask.h:27
 AtlHforSplittingTask.h:28
 AtlHforSplittingTask.h:29
 AtlHforSplittingTask.h:30
 AtlHforSplittingTask.h:31
 AtlHforSplittingTask.h:32
 AtlHforSplittingTask.h:33
 AtlHforSplittingTask.h:34
 AtlHforSplittingTask.h:35
 AtlHforSplittingTask.h:36
 AtlHforSplittingTask.h:37
 AtlHforSplittingTask.h:38
 AtlHforSplittingTask.h:39
 AtlHforSplittingTask.h:40
 AtlHforSplittingTask.h:41
 AtlHforSplittingTask.h:42
 AtlHforSplittingTask.h:43
 AtlHforSplittingTask.h:44
 AtlHforSplittingTask.h:45
 AtlHforSplittingTask.h:46
 AtlHforSplittingTask.h:47
 AtlHforSplittingTask.h:48