CMS 3D CMS Logo

XMLConfigWriter.h
Go to the documentation of this file.
1 #ifndef OMTF_XMLConfigWriter_H
2 #define OMTF_XMLConfigWriter_H
3 
4 #include <string>
5 #include <vector>
6 
7 #include "xercesc/util/XercesDefs.hpp"
8 
11 
12 
13 class GoldenPattern;
14 class OMTFConfiguration;
15 class OMTFinput;
16 class OMTFResult;
17 class AlgoMuon;
18 namespace l1t {class RegionalMuonCand; }
19 struct Key;
20 
21 namespace XERCES_CPP_NAMESPACE{
22  class DOMElement;
23  class DOMDocument;
24  class DOMImplementation;
25 }
26 
28 
29  public:
30 
31  XMLConfigWriter(const OMTFConfiguration* aOMTFConfig);
32 
33  void initialiseXMLDocument(const std::string & docName);
34 
35  void finaliseXMLDocument(const std::string & fName);
36 
37  xercesc::DOMElement * writeEventHeader(unsigned int eventId,
38  unsigned int mixedEventId = 0);
39 
40  xercesc::DOMElement * writeEventData(xercesc::DOMElement *aTopElement,
41  const OmtfName & board,
42  const OMTFinput & aInput);
43 
44  void writeAlgoMuon(xercesc::DOMElement *aTopElement,
45  unsigned int iRefHit,
46  const AlgoMuon & aMuon);
47 
48  void writeCandMuon(xercesc::DOMElement *aTopElement,
49  const l1t::RegionalMuonCand& aCand);
50 
51  void writeResultsData(xercesc::DOMElement *aTopElement,
52  unsigned int iRegion,
53  const Key& aKey,
54  const OMTFResult & aResult);
55 
56  void writeGPData(const GoldenPattern & aGP);
57 
58  void writeGPData(const GoldenPattern & aGP1,
59  const GoldenPattern & aGP2,
60  const GoldenPattern & aGP3,
61  const GoldenPattern & aGP4);
62 
63  void writeConnectionsData(const std::vector<std::vector <OMTFConfiguration::vector2D> > & measurements4D);
64 
65  unsigned int findMaxInput(const OMTFConfiguration::vector1D & myCounts);
66 
67  private:
68 
69  xercesc::DOMImplementation* domImpl;
70  xercesc::DOMElement* theTopElement;
71  xercesc::DOMDocument* theDoc;
72 
74 
75 };
76 
77 
80 #endif
delete x;
Definition: CaloConfig.h:22
std::vector< int > vector1D
xercesc::DOMImplementation * domImpl
const OMTFConfiguration * myOMTFConfig
xercesc::DOMDocument * theDoc
xercesc::DOMElement * theTopElement