XML parser for Marlin steering files. 
 
void setCmdLineParameters(const CommandLineParametersMap &cmdlineparams)
set command line parameters 
 
void write(const std::string &filen) const 
Write the parsed XML tree in an other file. 
 
std::vector< std::string > & result()
 
LCTokenizer(std::vector< std::string > &tokens, char del, size_t max=-1)
 
void processIncludeElements(TiXmlElement *element, const std::map< std::string, std::string > &constants)
Helper method - recursively replace all  with the corresponding file content. 
 
StringParameters * _current
 
const char * getAttribute(TiXmlNode *node, const std::string &name)
Return named attribute - throws ParseException if attribute doesn't exist. 
 
void processconditions(TiXmlNode *current, const std::string &conditions)
Helper method - recursively moves processors from <if> tags to top level (<execute>) and adds corresp...
 
Interface for a parser of a steering file to be used with marlin. 
 
XMLParser & operator=(const marlin::XMLParser &)=delete
 
Helper class for XMLParser. 
 
std::vector< std::string > & _tokens
 
std::shared_ptr< StringParameters > getParameters(const std::string §ionName) const 
Return the StringParameters for the section as read from the xml file. 
 
std::map< std::string, std::shared_ptr< StringParameters > > StringParametersMap
 
std::string & performConstantReplacement(std::string &value, const std::map< std::string, std::string > &constants)
 
Always the top level node. 
 
CommandLineParametersMap _cmdlineparams
 
TiXmlNode * findElement(TiXmlNode *node, const std::string &type, const std::string &attribute, const std::string &value)
Helper method - finds child element of node with given type and attribute value. 
 
void parse()
Parse the input file. 
 
The parent class for everything in the Document Object Model. 
 
void processConstant(TiXmlElement *element, std::map< std::string, std::string > &constants)
 
void operator()(const char &c)
 
std::unique_ptr< TiXmlDocument > _doc
 
void processConstants(TiXmlNode *node, std::map< std::string, std::string > &constants)
 
void checkForNestedIncludes(const TiXmlNode *node)
 
void replacegroups(TiXmlNode *section)
Helper method - replaces all <group> tag with corresponding <processor> tags. 
 
Simple parameters class for Marlin. 
 
void parametersFromNode(TiXmlNode *section, std::map< std::string, std::string > &constants, std::pair< unsigned, unsigned > *typeCount=0)
Extracts all parameters from the given node and adss them to the current StringParameters object...
 
void processIncludeElement(TiXmlElement *element, const std::map< std::string, std::string > &constants, TiXmlDocument &document)
 
The element is a container class.