1#ifndef RestCore_TRestTask
2#define RestCore_TRestTask
6#include <TGeoManager.h>
8#include <TInterpreter.h>
19#include "TRestAnalysisTree.h"
24enum REST_TASKMODE { TASK_ERROR = -1, TASK_MACRO = 0, TASK_CPPCMD = 1, TASK_CLASS = 2, TASK_SHELLCMD = 3 };
29 TRestTask(TString TaskString, REST_TASKMODE mode = TASK_MACRO);
31 unsigned int fNRequiredArgument;
33 std::string fInvokeObject =
"";
34 std::string fInvokeMethod =
"";
37 std::vector<int> fArgumentTypes;
38 std::vector<std::string> fArgumentNames;
39 std::vector<std::string> fArgumentValues;
40 std::string fConstructedCommand =
"";
49 static TRestTask* GetTaskFromCommand(TString cmd);
54 void SetMode(REST_TASKMODE mod) { fMode = mod; }
55 inline REST_TASKMODE GetMode()
const {
return fMode; }
Managing applications and executing tasks.
Wrapping REST macros into tasks.
void SetArgumentValue(std::vector< std::string > arg)
Set argument directly with a list of string.
virtual void RunTask(TRestManager *)
Run the task with command line.
virtual void PrintArgumentHelp()
Default helper method both for TRestTask and any TRestTask-inherited class.
TRestTask()
TRestTask default constructor.
static TRestTask * GetTaskFromMacro(TString Name)
Static method to instantiate a TRestTask object with "MacroName".
void InitFromConfigFile() override
Starter method. Looks through the rml sections and set argument/datamenber value.