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