BOSS 7.1.2
BESIII Offline Software System
Loading...
Searching...
No Matches
MyFrame.h
Go to the documentation of this file.
1#ifndef MYFRAME_H
2#define MYFRAME_H
3
4// STL
5#include <string>
6#include <vector>
7#include <list>
8#include <utility>
9
10#include <xercesc/util/PlatformUtils.hpp>
11#include <xercesc/parsers/AbstractDOMParser.hpp>
12#include <xercesc/dom/DOMImplementation.hpp>
13#include <xercesc/dom/DOMImplementationLS.hpp>
14#include <xercesc/dom/DOMImplementationRegistry.hpp>
15//#include <xercesc/dom/DOMBuilder.hpp>
16#include <xercesc/dom/DOMException.hpp>
17#include <xercesc/dom/DOMDocument.hpp>
18#include <xercesc/dom/DOMNodeList.hpp>
19#include <xercesc/dom/DOMError.hpp>
20#include <xercesc/dom/DOMLocator.hpp>
21// XERCES4C DOM API
22#include <xercesc/dom/DOM.hpp>
23
26
27XERCES_CPP_NAMESPACE_USE
28
29namespace HltProcessor
30{
31 class Signature;
32 class Sequence;
33
34class MyFrame
35{
36public:
37 /* The instance method for the singleton pattern */
38 static MyFrame* instance();
39 static void destruct();
40
41 /* The init method in which beasically everything is calculated and done.
42 Ti delegates work to the XMLTE and XMLSIgnature classes. */
43 void init(const std::string,const std::string);
44
45 void makeTableVector();
46
47 /* XML finalisation and some printout and cleanup */
48 void final();
49
50 /* Methods returning the configuration vector for the L2 and EF. */
51 const std::vector<std::pair<Signature*, Sequence*> >& getTablesVector() const;
52
53 /* Needed for some of the algortihmic methods */
54 //inline int getNumSequenceTables() const {return m_FrameNumSequenceTables;}
55
56 const double DOMToDouble(const XMLCh * thisDOMString) const;
57
58protected:
59 /* constructor and desctructor protected in singleton pattern. */
60 MyFrame();
61 ~MyFrame();
62
63private:
64 /* private method tp build the list of sequences from the XML file */
65 void buildSequenceList(const DOMNode *, bool);
66
67 /* Method to check the sequence list for consistency and completeness */
68 // bool checkSequenceList();
69
70 /* Builds the signature list from the XML file */
71 void buildSignatureList(const DOMNode *, bool);
72
73private:
74 /* needed for singleton pattern */
75 static MyFrame* s_FrameInstance;
76
77 /* XML file names */
78 char* m_FrameSequenceListFile;
79 char* m_FrameSignatureListFile;
80
81 /* Members for getting the sizes of the trees */
82 int m_FrameNumSequenceTables;
83 int m_FrameNumTables;
84 int m_FrameAbsolutMaxStep;
85
86 /* These are needed for the MessageSvc */
87 MessageSvcProvider* m_msgSvcProvider;
88 std::string m_thisName;
89
90 /* DOM node pointers */
91 DOMNode *m_Signature_DocNode;
92 DOMNode *m_Sequence_DocNode;
93
94 std::vector<Signature*> m_SignatureVec;
95 std::vector<Sequence*> m_SequenceVec;
96
97 std::vector<std::pair<Signature*, Sequence*> > m_TableVector;
98
99 int m_idSequence;
100 int m_idSignature;
101 int m_idCriteria;
102 int m_idItem;
103
104 bool m_first;
105}; // End of MyFrame class bracket
106
107} // End of namespace bracket
108
109#endif // #ifndef MYFRAME_H
static void destruct()
Definition MyFrame.cxx:28
const double DOMToDouble(const XMLCh *thisDOMString) const
Definition MyFrame.cxx:395
static MyFrame * instance()
Definition MyFrame.cxx:22
const std::vector< std::pair< Signature *, Sequence * > > & getTablesVector() const
Definition MyFrame.cxx:390
void init(const std::string, const std::string)
Definition MyFrame.cxx:58
Class that provides message services. Add to any classes that need message services.