CMS 3D CMS Logo

RPCPatternsParser.h
Go to the documentation of this file.
1 #ifndef L1Trigger_RPCPatternsParser_h
2 #define L1Trigger_RPCPatternsParser_h
3 /*******************************************************************************
4 * *
5 * Karol Bunkowski *
6 * Warsaw University 2005 *
7 * *
8 *******************************************************************************/
9 
10 
11 #include <string>
12 #include <iostream>
13 
14 #include <xercesc/sax2/Attributes.hpp>
15 #include <xercesc/sax2/DefaultHandler.hpp>
16 
19 //#include "L1Trigger/RPCTrigger/interface/RPCException.h"
20 
21 
22 class RPCPatternsParser : public XERCES_CPP_NAMESPACE::DefaultHandler {
23 public:
24  //class SAX2PatHandler : public DefaultHandler {
25  //public:
26  // SAX2PatHandler();
27  // ~SAX2PatHandler();
28 
29  // void startElement(const XMLCh* const uri, const XMLCh* const localname,
30  // const XMLCh* const qname, const Attributes& attrs);
31 
32  // void endElement (const XMLCh* const uri, const XMLCh* const localname, const XMLCh* const qname);
33  //};
34 
36  ~RPCPatternsParser() override;
37 
38 
39  void startElement(const XMLCh* const uri, const XMLCh* const localname,
40  const XMLCh* const qname, const XERCES_CPP_NAMESPACE::Attributes& attrs) override;
41 
42  void endElement (const XMLCh* const uri, const XMLCh* const localname, const XMLCh* const qname) override;
43 
45 
47 
48  const RPCPattern::RPCPatVec& getPatternsVec(const int tower, const int sc, const int sg) const;
49 
50  const RPCPattern::TQualityVec & getQualityVec() const{ //XXX - clean me!
51  return m_QualityVec;
52  };
53 
54 
55 private:
56  //virtual void startElement(const XMLCh* const name, xercesc::AttributeList& attributes);
57 
58  //virtual void endElement(const XMLCh* const name);
59 
60  static int m_InstanceCount;
61 
63 
65 
66  typedef std::map<RPCConst::l1RpcConeCrdnts, RPCPattern::RPCPatVec> TPatternsVecsMap;
67 
68  TPatternsVecsMap m_PatternsVecsMap;
69 
70  TPatternsVecsMap::iterator m_CurPacIt;
71 
73 };
74 
75 #endif
The coordinates of Logic Cone: m_Tower, m_LogSector, m_LogSegment.
Definition: RPCConst.h:119
TPatternsVecsMap::iterator m_CurPacIt
RPCPattern::TQualityVec m_QualityVec
std::vector< RPCPattern > RPCPatVec
Definition: RPCPattern.h:36
TPatternsVecsMap m_PatternsVecsMap
void endElement(const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname) override
const RPCPattern::RPCPatVec & getPatternsVec(const RPCConst::l1RpcConeCrdnts &coneCrds) const
std::string m_CurrElement
static int m_InstanceCount
std::vector< TQuality > TQualityVec
Definition: RPCPattern.h:49
std::map< RPCConst::l1RpcConeCrdnts, RPCPattern::RPCPatVec > TPatternsVecsMap
void startElement(const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname, const XERCES_CPP_NAMESPACE::Attributes &attrs) override
const RPCPattern::TQualityVec & getQualityVec() const
~RPCPatternsParser() override
void parse(std::string fileName)