Wrapping REST macros into tasks.
REST macros are actually ROOT scripts written in C++. TRestTask wraps them and turns them into application mateadata class. This is done by calling method TInterpreter::LoadFile() and TInterpreter::ProcessLine(). Turning REST-macro-defined functions into classes means that we are able to run the macros from rml file, by adding a section under the section "TRestManager". Another way to launch TRestTask is through restManager executable. By directly typing "restManager TASKNAME [ARG]" in bash we can run the macros like executables. We also allow users to write TRestTask inherted class in REST macros. This can enable more functionalities.
RESTsoft - Software for Rare Event Searches with TPCs
History of developments:
2017-Nov: First concept and implementation of TRestTask Kaixiang Ni
Definition at line 27 of file TRestTask.h.
|
| ClassDefOverride (TRestTask, 1) |
|
REST_TASKMODE | GetMode () const |
|
void | InitFromConfigFile () override |
| Starter method. Looks through the rml sections and set argument/datamenber value. More...
|
|
virtual void | PrintArgumentHelp () |
| Default helper method both for TRestTask and any TRestTask-inherited class. More...
|
|
virtual void | RunTask (TRestManager *) |
| Run the task with command line. More...
|
|
void | SetArgumentValue (std::vector< std::string > arg) |
| Set argument directly with a list of string. More...
|
|
void | SetMode (REST_TASKMODE mod) |
|
| TRestTask () |
| TRestTask default constructor. More...
|
|
void | AddLog (std::string log="", bool print=true) |
| Add logs to messageBuffer. More...
|
|
void | DoNotStore () |
| If this method is called the metadata information will not be stored in disk. More...
|
|
TVector2 | Get2DVectorParameterWithUnits (std::string parName, TVector2 defaultValue=TVector2(-1, -1)) |
|
TVector3 | Get3DVectorParameterWithUnits (std::string parName, TVector3 defaultValue=TVector3(-1, -1, -1)) |
|
TString | GetCommit () |
| Returns the REST commit value stored in fCommit. More...
|
|
std::string | GetConfigBuffer () |
| Returns the config section of this class. More...
|
|
std::string | GetDataMemberValue (std::string memberName) |
| Get the value of data member as string. More...
|
|
std::vector< std::string > | GetDataMemberValues (std::string memberName, Int_t precision=0) |
| Get the value of datamember as a vector of strings. More...
|
|
TString | GetDataPath () |
| Returns a std::string with the path used for data storage. More...
|
|
Double_t | GetDblParameterWithUnits (std::string parName, Double_t defaultValue=PARAMETER_NOT_FOUND_DBL) |
| Gets the value of the parameter name parName, after applying unit conversion. More...
|
|
Bool_t | GetError () const |
| It returns true if an error was identified by a derived metadata class. More...
|
|
TString | GetErrorMessage () |
| Returns a std::string containing the error message. More...
|
|
TString | GetLibraryVersion () |
| Returns the REST libraty version stored in fLibraryVersion. More...
|
|
TString | GetMainDataPath () |
| Gets a std::string with the path used for data storage. More...
|
|
Int_t | GetNumberOfErrors () const |
|
Int_t | GetNumberOfWarnings () const |
|
std::string | GetParameter (std::string parName, TString defaultValue=PARAMETER_NOT_FOUND_STR) |
| Returns corresponding REST Metadata parameter from multiple sources. More...
|
|
std::string | GetSectionName () |
| Returns the section name of this class, defined at the beginning of fSectionName. More...
|
|
TRestStringOutput::REST_Verbose_Level | GetVerboseLevel () |
| returns the verboselevel in type of REST_Verbose_Level enumerator More...
|
|
TString | GetVerboseLevelString () |
| returns the verbose level in type of TString More...
|
|
TString | GetVersion () |
| Returns the REST version stored in fVersion. More...
|
|
Int_t | GetVersionCode () |
|
UInt_t | GetVersionMajor () const |
|
UInt_t | GetVersionMinor () const |
|
UInt_t | GetVersionPatch () const |
|
Bool_t | GetWarning () const |
| It returns true if an error was identified by a derived metadata class. More...
|
|
TString | GetWarningMessage () |
| Returns a std::string containing the warning message. More...
|
|
virtual void | Initialize () |
| Making default settings. More...
|
|
TRestMetadata * | InstantiateChildMetadata (int index, std::string pattern="") |
| This method will retrieve a new TRestMetadata instance of a child element of the present TRestMetadata instance based on the index given by argument, which defines the element order to be retrieved, 0 for first element found, 1 for the second element found, etc. More...
|
|
TRestMetadata * | InstantiateChildMetadata (std::string pattern="", std::string name="") |
| This method will retrieve a new TRestMetadata instance of a child element of the present TRestMetadata instance based on the name given by argument. More...
|
|
Bool_t | isCleanState () const |
|
Bool_t | isOfficialRelease () const |
|
Int_t | LoadConfigFromBuffer () |
| Initialize data from a string element buffer. More...
|
|
Int_t | LoadConfigFromElement (TiXmlElement *eSectional, TiXmlElement *eGlobal, std::map< std::string, std::string > envs={}) |
| Main starter method. More...
|
|
Int_t | LoadConfigFromFile (const std::string &configFilename, const std::string §ionName="") |
| Give the file name, find out the corresponding section. Then call the main starter. More...
|
|
virtual void | Merge (const TRestMetadata &) |
|
TRestMetadata & | operator= (const TRestMetadata &) |
|
void | Print () |
| Implementing TObject::Print() method. More...
|
|
void | PrintConfigBuffer () |
| Print the config xml section stored in the class. More...
|
|
void | PrintMessageBuffer () |
| Print the buffered message. More...
|
|
virtual void | PrintMetadata () |
| Implemented it in the derived metadata class to print out specific metadata information. More...
|
|
void | PrintTimeStamp (Double_t timeStamp) |
| Print the current time on local machine. More...
|
|
void | SetConfigFile (std::string configFilename) |
| set config file path from external More...
|
|
void | SetError (std::string message="", bool print=true, int maxPrint=5) |
| A metadata class may use this method to signal that something went wrong. More...
|
|
void | SetHostmgr (TRestManager *m) |
| Set the host manager for this class. More...
|
|
void | SetSectionName (std::string sName) |
| set the section name, clear the section content More...
|
|
void | SetVerboseLevel (TRestStringOutput::REST_Verbose_Level v) |
| sets the verbose level More...
|
|
void | SetWarning (std::string message="", bool print=true, int maxPrint=5) |
| A metadata class may use this method to signal that something went wrong. More...
|
|
void | Store () |
| If this method is called the metadata information will be stored in disk. More...
|
|
| TRestMetadata (const TRestMetadata &) |
|
virtual void | UpdateMetadataMembers () |
| Method to allow implementation of specific metadata members updates at inherited classes. More...
|
|
virtual Int_t | Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) |
| overwriting the write() method with fStore considered More...
|
|
void | WriteConfigBuffer (std::string fName) |
| Writes the config buffer to a file in append mode. More...
|
|
| ~TRestMetadata () |
| TRestMetadata default destructor. More...
|
|
|
| TRestTask (TString TaskString, REST_TASKMODE mode=TASK_MACRO) |
| TRestTask constructor with macro file name. More...
|
|
std::string | ElementToString (TiXmlElement *ele) |
| Convert an TiXmlElement object to string. More...
|
|
TVector2 | Get2DVectorParameterWithUnits (std::string parName, TiXmlElement *e, TVector2 defaultValue=TVector2(-1, -1)) |
|
TVector3 | Get3DVectorParameterWithUnits (std::string parName, TiXmlElement *e, TVector3 defaultValue=TVector3(-1, -1, -1)) |
|
Double_t | GetDblParameterWithUnits (std::string parName, TiXmlElement *e, Double_t defaultVal=PARAMETER_NOT_FOUND_DBL) |
|
TiXmlElement * | GetElement (std::string eleDeclare, TiXmlElement *e=nullptr) |
| Get an xml element from a given parent element, according to its declaration. More...
|
|
TiXmlElement * | GetElementFromFile (std::string configFilename, std::string NameOrDecalre="") |
| Open an xml encoded file and find its element. More...
|
|
TiXmlElement * | GetElementWithName (std::string eleDeclare, std::string eleName) |
| Get an xml element from the default location, according to its declaration and its field "name". More...
|
|
TiXmlElement * | GetElementWithName (std::string eleDeclare, std::string eleName, TiXmlElement *e) |
| Get an xml element from a given parent element, according to its declaration and its field "name". More...
|
|
std::string | GetFieldValue (std::string fieldName, std::string definition, size_t fromPosition=0) |
| Gets field value in an xml element string by parsing it as TiXmlElement. More...
|
|
std::string | GetFieldValue (std::string parName, TiXmlElement *e) |
| Returns the field value of an xml element which has the specified name. More...
|
|
std::string | GetKEYDefinition (std::string keyName) |
| Gets the first key definition for keyName found inside buffer starting at fromPosition. More...
|
|
std::string | GetKEYDefinition (std::string keyName, size_t &Position) |
|
std::string | GetKEYDefinition (std::string keyName, size_t &Position, std::string buffer) |
|
std::string | GetKEYDefinition (std::string keyName, std::string buffer) |
|
std::string | GetKEYStructure (std::string keyName) |
| Gets the first key structure for keyName found inside buffer after fromPosition. More...
|
|
std::string | GetKEYStructure (std::string keyName, size_t &Position) |
|
std::string | GetKEYStructure (std::string keyName, size_t &Position, std::string buffer) |
|
std::string | GetKEYStructure (std::string keyName, size_t &Position, TiXmlElement *ele) |
|
std::string | GetKEYStructure (std::string keyName, std::string buffer) |
|
TiXmlElement * | GetNextElement (TiXmlElement *e) |
| Get the next sibling xml element of this element, with same eleDeclare. More...
|
|
std::string | GetParameter (std::string parName, size_t &pos, std::string inputString) |
| Returns the value for the parameter name parName found in inputString. More...
|
|
std::string | GetParameter (std::string parName, TiXmlElement *e, TString defaultValue=PARAMETER_NOT_FOUND_STR) |
| Returns the value for the parameter named parName in the given section. More...
|
|
std::pair< std::string, std::string > | GetParameterAndUnits (std::string parname, TiXmlElement *e=nullptr) |
| Returns the unit string of the given parameter of the given xml section. More...
|
|
std::map< std::string, std::string > | GetParametersList () |
| It retrieves a map of all parameter:value found in the metadata class. More...
|
|
TString | GetSearchPath () |
|
virtual void | InitFromConfigFile () |
| To make settings from rml file. This method must be implemented in the derived class. More...
|
|
virtual void | InitFromRootFile () |
| Method called after the object is retrieved from root file. More...
|
|
virtual Int_t | LoadSectionMetadata () |
| This method does some preparation of xml section. More...
|
|
void | ReadAllParameters () |
| Reflection methods, Set value of a datamember in class according to TRestMetadata::fElement. More...
|
|
void | ReadParametersList (std::map< std::string, std::string > &list) |
| It reads a parameter list and associates it to its corresponding metadata member. par0 --> fPar0. More...
|
|
std::string | ReplaceConstants (const std::string buffer) |
| Identifies "constants" in the input buffer, and replace them with corresponding value. More...
|
|
std::string | ReplaceVariables (const std::string buffer) |
| Identifies environmental variable replacing marks in the input buffer, and replace them with corresponding value. More...
|
|
void | ReSetVersion () |
| Resets the version of TRestRun to REST_RELEASE. Only TRestRun is allowed to update version. More...
|
|
std::string | SearchFile (std::string filename) |
| Search files in current directory and directories specified in "searchPath" section. More...
|
|
void | SetLibraryVersion (TString version) |
| Set the library version of this metadata class. More...
|
|
TiXmlElement * | StringToElement (std::string definition) |
| Parsing a string into TiXmlElement object. More...
|
|
| TRestMetadata () |
| TRestMetadata default constructor. More...
|
|
| TRestMetadata (const char *configFilename) |
| constructor More...
|
|
void | UnSetVersion () |
| Resets the version of TRestRun to -1, in case the file is old REST file. Only TRestRun is allowed to update version. More...
|
|