#include <IORawData/CaloPatterns/interface/HcalPatternXMLParser.h>
Public Member Functions | |
HcalPatternXMLParser () | |
void | parse (const std::string &xmlDocument, std::map< std::string, std::string > ¶meters, std::vector< uint32_t > &items) |
void | parse (const std::string &xmlDocument, std::map< std::string, std::string > ¶meters, std::vector< std::string > &items, std::string &encoding) |
~HcalPatternXMLParser () | |
Private Attributes | |
HcalPatternXMLParserImpl * | m_parser |
Definition at line 12 of file HcalPatternXMLParser.h.
HcalPatternXMLParser::HcalPatternXMLParser | ( | ) |
Definition at line 15 of file HcalPatternXMLParser.cc.
References m_parser.
00015 { 00016 m_parser=0; 00017 }
HcalPatternXMLParser::~HcalPatternXMLParser | ( | ) |
void HcalPatternXMLParser::parse | ( | const std::string & | xmlDocument, | |
std::map< std::string, std::string > & | parameters, | |||
std::vector< uint32_t > & | items | |||
) |
Definition at line 166 of file HcalPatternXMLParser.cc.
00166 { 00167 std::vector<std::string> items; 00168 std::string encoding; 00169 00170 this->parse(xmlDocument,parameters,items,encoding); 00171 int formatting=0; 00172 if (encoding=="dec") formatting=10; 00173 if (encoding=="hex") formatting=16; 00174 00175 data.clear(); 00176 for (std::vector<std::string>::const_iterator i=items.begin(); i!=items.end(); i++) 00177 data.push_back(strtol(i->c_str(),0,formatting)); 00178 00179 }
void HcalPatternXMLParser::parse | ( | const std::string & | xmlDocument, | |
std::map< std::string, std::string > & | parameters, | |||
std::vector< std::string > & | items, | |||
std::string & | encoding | |||
) |
Definition at line 148 of file HcalPatternXMLParser.cc.
References exception, Exception, m_parser, HcalPatternXMLParserImpl::parser, and HLT_VtxMuL3::src.
Referenced by HcalPatternSource::loadPatternFile(), and parse().
00148 { 00149 // uses XERCES SAX2 parser 00150 ConfigurationDBHandler handler(parameters,items,encoding); 00151 00152 try { 00153 if (m_parser==0) { 00154 m_parser=new HcalPatternXMLParserImpl(); 00155 m_parser->parser=std::auto_ptr<xercesc::SAX2XMLReader>(xercesc::XMLReaderFactory::createXMLReader()); 00156 } 00157 00158 MemBufInputSource src((const unsigned char*)xmlDocument.c_str(), xmlDocument.length(),"hcal::PatternReader"); 00159 m_parser->parser->setContentHandler(&handler); 00160 m_parser->parser->parse(src); 00161 } catch (std::exception& ex) { 00162 throw cms::Exception("ParseError") << ex.what(); 00163 } 00164 }
Definition at line 19 of file HcalPatternXMLParser.h.
Referenced by HcalPatternXMLParser(), parse(), and ~HcalPatternXMLParser().