Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/root/TGridJDL.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 // @(#)root/net:$Id$
0002 // Author: Jan Fiete Grosse-Oetringhaus   28/9/2004
0003 // Jancurova.lucia@cern.ch Slovakia  29/9/2008
0004 
0005 /*************************************************************************
0006  * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers.               *
0007  * All rights reserved.                                                  *
0008  *                                                                       *
0009  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0010  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0011  *************************************************************************/
0012 
0013 #ifndef ROOT_TGridJDL
0014 #define ROOT_TGridJDL
0015 
0016 //////////////////////////////////////////////////////////////////////////
0017 //                                                                      //
0018 // TGridJDL                                                             //
0019 //                                                                      //
0020 // Abstract base class to generate JDL files for job submission to the  //
0021 // Grid.                                                                //
0022 //                                                                      //
0023 // Related classes are TGLiteJDL                                        //
0024 //                              .                                       //
0025 //////////////////////////////////////////////////////////////////////////
0026 
0027 #include "TObject.h"
0028 #include "TString.h"
0029 #include "TMap.h"
0030 
0031 
0032 class TGridJDL : public TObject {
0033 protected:
0034    TMap    fMap;              // stores the key, value pairs of the JDL
0035    TMap    fDescriptionMap;   // stores the key, value pairs of the JDL
0036 public:
0037    TGridJDL() : fMap(), fDescriptionMap() { }
0038    virtual ~TGridJDL();
0039 
0040    void             SetValue(const char *key, const char *value);
0041    const char      *GetValue(const char *key);
0042    void             SetDescription(const char *key, const char *description);
0043    const char      *GetDescription(const char *key);
0044    TString          AddQuotes(const char *value);
0045    void             AddToSet(const char *key, const char *value);
0046    void             AddToSetDescription(const char *key, const char *description);
0047    virtual TString  Generate();
0048    void             Clear(const Option_t* = "") override;
0049 
0050    virtual void SetExecutable(const char *value=nullptr, const char *description=nullptr) = 0;
0051    virtual void SetArguments(const char *value=nullptr, const char *description=nullptr) = 0;
0052    virtual void SetEMail(const char *value=nullptr, const char *description=nullptr) = 0;
0053    virtual void SetOutputDirectory(const char *value=nullptr, const char *description=nullptr) = 0;
0054    virtual void SetPrice(UInt_t price=1, const char *description=nullptr) = 0;
0055    virtual void SetTTL(UInt_t ttl=72000, const char *description=nullptr) = 0;
0056    virtual void SetJobTag(const char *jobtag=nullptr, const char *description=nullptr) = 0;
0057    virtual void SetInputDataListFormat(const char *format="xml-single", const char *description=nullptr) = 0;
0058    virtual void SetInputDataList(const char *list="collection.xml", const char *description=nullptr) = 0;
0059 
0060    virtual void SetSplitMode(const char *value, UInt_t maxnumberofinputfiles=0,
0061                              UInt_t maxinputfilesize=0, const char *d1=nullptr,
0062                              const char *d2=nullptr, const char *d3=nullptr) = 0;
0063    virtual void SetSplitArguments(const char *splitarguments=nullptr, const char *description=nullptr) = 0;
0064    virtual void SetValidationCommand(const char *value, const char *description=nullptr) = 0;
0065 
0066    virtual void AddToInputSandbox(const char *value=nullptr, const char *description=nullptr) = 0;
0067    virtual void AddToOutputSandbox(const char *value=nullptr, const char *description=nullptr) = 0;
0068    virtual void AddToInputData(const char *value=nullptr, const char *description=nullptr) = 0;
0069    virtual void AddToInputDataCollection(const char *value=nullptr, const char *description=nullptr) = 0;
0070    virtual void AddToRequirements(const char *value=nullptr, const char *description=nullptr) = 0;
0071    virtual void AddToPackages(const char *name="AliRoot", const char *version="default",
0072                               const char *type="VO_ALICE", const char *description=nullptr) = 0;
0073    virtual void AddToOutputArchive(const char *value=nullptr, const char *description=nullptr) = 0;
0074 
0075    ClassDefOverride(TGridJDL,1)  // ABC defining interface JDL generator
0076 };
0077 
0078 #endif