CMS 3D CMS Logo

HcalPatternXMLParser Class Reference

#include <IORawData/CaloPatterns/interface/HcalPatternXMLParser.h>

List of all members.

Public Member Functions

 HcalPatternXMLParser ()
void parse (const std::string &xmlDocument, std::map< std::string, std::string > &parameters, std::vector< uint32_t > &items)
void parse (const std::string &xmlDocument, std::map< std::string, std::string > &parameters, std::vector< std::string > &items, std::string &encoding)
 ~HcalPatternXMLParser ()

Private Attributes

HcalPatternXMLParserImplm_parser


Detailed Description

Definition at line 12 of file HcalPatternXMLParser.h.


Constructor & Destructor Documentation

HcalPatternXMLParser::HcalPatternXMLParser (  ) 

Definition at line 15 of file HcalPatternXMLParser.cc.

References m_parser.

00015                                            {
00016   m_parser=0;
00017 }

HcalPatternXMLParser::~HcalPatternXMLParser (  ) 

Definition at line 18 of file HcalPatternXMLParser.cc.

References m_parser.

00018                                             {
00019   if (m_parser!=0) delete m_parser;
00020 }


Member Function Documentation

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.

References i, and parse().

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   }


Member Data Documentation

HcalPatternXMLParserImpl* HcalPatternXMLParser::m_parser [private]

Definition at line 19 of file HcalPatternXMLParser.h.

Referenced by HcalPatternXMLParser(), parse(), and ~HcalPatternXMLParser().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:23:48 2009 for CMSSW by  doxygen 1.5.4