BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
HltProcessor::MyFrame Class Reference

#include <MyFrame.h>

Public Member Functions

void init (const std::string, const std::string)
void makeTableVector ()
void final ()
const std::vector< std::pair< Signature *, Sequence * > > & getTablesVector () const
const double DOMToDouble (const XMLCh *thisDOMString) const

Static Public Member Functions

static MyFrameinstance ()
static void destruct ()

Protected Member Functions

 MyFrame ()
 ~MyFrame ()

Detailed Description

Definition at line 33 of file MyFrame.h.

Constructor & Destructor Documentation

◆ MyFrame()

HltProcessor::MyFrame::MyFrame ( )
protected

Definition at line 30 of file MyFrame.cxx.

31 : m_FrameNumSequenceTables( 0 )
32 , m_FrameNumTables( 0 )
33 , m_FrameAbsolutMaxStep( 0 )
34 , m_Signature_DocNode( NULL )
35 , m_Sequence_DocNode( NULL )
36 , m_SignatureVec( 0 )
37 , m_SequenceVec( 0 )
38 , m_TableVector( 0 )
39 , m_idSequence( 0 )
40 , m_idSignature( 0 )
41 , m_idCriteria( 0 )
42 , m_idItem( 0 )
43 , m_first( true ) {
44 if ( s_FrameInstance ) { std::cout << " MyFrame constructed twice!" << std::endl; }
45 s_FrameInstance = this;
46 m_thisName = "HltConfig";
47 m_msgSvcProvider = MessageSvcProvider::instance();
48 }
static MessageSvcProvider * instance()

Referenced by instance().

◆ ~MyFrame()

HltProcessor::MyFrame::~MyFrame ( )
protected

Definition at line 51 of file MyFrame.cxx.

51 {
52 for ( unsigned int i = 0; i < m_SignatureVec.size(); i++ ) delete m_SignatureVec[i];
53 for ( unsigned int j = 0; j < m_SequenceVec.size(); j++ ) delete m_SequenceVec[j];
54 // destruct();
55 }

Member Function Documentation

◆ destruct()

void HltProcessor::MyFrame::destruct ( )
static

Definition at line 25 of file MyFrame.cxx.

25 {
26 if ( s_FrameInstance ) delete s_FrameInstance;
27 }

◆ DOMToDouble()

const double HltProcessor::MyFrame::DOMToDouble ( const XMLCh * thisDOMString) const

Definition at line 426 of file MyFrame.cxx.

426 {
427 double returnValue( 0 );
428 std::string helpString( XMLString::transcode( thisDOMString ) );
429 std::istringstream is( helpString );
430 is >> returnValue;
431 return returnValue;
432 }

◆ final()

void HltProcessor::MyFrame::final ( )

Definition at line 192 of file MyFrame.cxx.

192 {
193 /*zoujh:MsgStream log(m_msgSvcProvider->msgSvc(), m_thisName);
194 log << MSG::INFO << endmsg;
195 log << MSG::INFO << "***" << endmsg;
196 log << MSG::INFO << "Finalizing XML." << endmsg;
197 log << MSG::INFO << "***" << endmsg;*/
198 // m_msgSvcProvider=0;
199 // Call the XML termination method
200 XMLPlatformUtils::Terminate();
201 }

Referenced by HltConfigSvc::handle(), and HltConfigSvc::initialize().

◆ getTablesVector()

const std::vector< std::pair< Signature *, Sequence * > > & HltProcessor::MyFrame::getTablesVector ( ) const

Definition at line 422 of file MyFrame.cxx.

422 {
423 return m_TableVector;
424 }

Referenced by HltConfigSvc::retrieve().

◆ init()

void HltProcessor::MyFrame::init ( const std::string sequenceFile,
const std::string signatureFile )

Definition at line 58 of file MyFrame.cxx.

58 {
59 // if(m_msgSvcProvider==0)m_msgSvcProvider = MessageSvcProvider::instance();
60 // MsgStream log(m_msgSvcProvider->msgSvc(), m_thisName);
61 // MsgStream log(msgSvc(),name());
62 // std::cout<<"@@@@@@@@@@@@@@@@@@@1"<<std::endl;
63 try
64 {
65 XMLPlatformUtils::Initialize();
66 // log << MSG::INFO << "MyFrame : Initialized XML!" << endmsg;
67 }
68
69 catch ( const XMLException& toCatch )
70 {
71 // log << MSG::ERROR << "MyFrame : Init failed!" << endmsg;
72 exit( 1 );
73 }
74 // std::cout<<"@@@@@@@@@@@@@@@@@@@2"<<std::endl;
75 // Instantiate DOM parser for signature XML file.
76 XercesDOMParser* signatureParser = new XercesDOMParser;
77 signatureParser->setValidationScheme( XercesDOMParser::Val_Always ); // optional.
78 signatureParser->setDoNamespaces( true ); // optional
79
80 // Instantiate DOM parser for sequence XML file.
81 XercesDOMParser* sequenceParser = new XercesDOMParser;
82 sequenceParser->setValidationScheme( XercesDOMParser::Val_Always ); // optional.
83 sequenceParser->setDoNamespaces( true ); // optional
84
85 // Now try to parse.
86 try
87 {
88 signatureParser->parse( signatureFile.c_str() );
89 // zoujh:log << MSG::INFO << "Parsing " << signatureFile.c_str() << endmsg;
90
91 sequenceParser->parse( sequenceFile.c_str() );
92 // zoujh:log << MSG::INFO << "Parsing " << sequenceFile.c_str() << endmsg;
93 }
94
95 catch ( const XMLException& toCatch )
96 {
97 // log << MSG::ERROR << "Error 1" << endmsg;
98 exit( 1 );
99 } catch ( const DOMException& toCatch )
100 {
101 // log << MSG::ERROR << "Error 4" << endmsg;
102 XMLPlatformUtils::Terminate();
103 exit( 1 );
104 } catch ( ... )
105 {
106 // log << MSG::ERROR << "Error 5" << endmsg;
107 XMLPlatformUtils::Terminate();
108 exit( 1 );
109 }
110 // std::cout<<"@@@@@@@@@@@@@@@@@@@3"<<std::endl;
111 // Get document handle.
112 m_Sequence_DocNode = sequenceParser->getDocument();
113 m_Signature_DocNode = signatureParser->getDocument();
114 // std::cout<<"1@@@@@@@@@@@@@@@@@@@"<<m_SequenceVec.size()<<std::endl;
115 // std::cout<<"2@@@@@@@@@@@@@@@@@@@"<<m_SignatureVec.size()<<std::endl;
116 // std::cout<<"3@@@@@@@@@@@@@@@@@@@"<<m_TableVector.size()<<std::endl;
117 if ( m_first ) { m_first = false; }
118 else
119 {
120 for ( unsigned int i = 0; i < m_SignatureVec.size(); i++ ) delete m_SignatureVec[i];
121 for ( unsigned int j = 0; j < m_SequenceVec.size(); j++ ) delete m_SequenceVec[j];
122 m_SignatureVec.clear();
123 m_SequenceVec.clear();
124 m_TableVector.clear();
125 m_idCriteria = 0;
126 m_idSignature = 0;
127 m_idSequence = 0;
128 m_idItem = 0;
129 }
130 // std::cout<<"1@@@@@@@@@@@@@@@@@@@"<<m_SequenceVec.size()<<std::endl;
131 // std::cout<<"2@@@@@@@@@@@@@@@@@@@"<<m_SignatureVec.size()<<std::endl;
132 // std::cout<<"3@@@@@@@@@@@@@@@@@@@"<<m_TableVector.size()<<std::endl;
133 // std::vector<Sequence*> tmp1(0);
134 // m_SequenceVec=tmp1;
135 // std::cout<<"1@@@@@@@@@@@@@@@@@@@"<<m_SequenceVec.size()<<std::endl;
136 // std::vector<Signature*> tmp2(0);
137 // m_SignatureVec=tmp2;
138 // std::cout<<"2@@@@@@@@@@@@@@@@@@@"<<m_SignatureVec.size()<<std::endl;
139 // std::vector<std::pair<Signature*,Sequence*> > tmp3(0);
140 // m_TableVector=tmp3;
141 // std::cout<<"3@@@@@@@@@@@@@@@@@@@"<<m_TableVector.size()<<std::endl;
142 // Build global sequence list (and print it).
143 buildSequenceList( m_Sequence_DocNode, true );
144 // std::cout<<"1@@@@@@@@@@@@@@@@@@@"<<m_SequenceVec.size()<<std::endl;
145 // std::vector<Sequence*>::iterator iter=m_SequenceVec.begin();
146 // for(;iter!=m_SequenceVec.end();iter++){
147 // std::cout<< "@@@@@@@@"<<((*iter)->getSeqID())<<std::endl;
148 // }
149 // for (unsigned int i = 0; i < m_SequenceVec.size(); i++) {
150 // std::string seqId = m_SequenceVec[i]->getSeqID();
151 // std::cout<< "@@@@@@@@"<<seqId<<std::endl;
152 // }
153 // Build global signature list (and print it).
154 buildSignatureList( m_Signature_DocNode, true );
155 // std::cout<<"2@@@@@@@@@@@@@@@@@@@"<<m_SignatureVec.size()<<std::endl;
156 // m_Signature_DocNode->release();
157 // m_Sequence_DocNode->release();
158 delete sequenceParser;
159 delete signatureParser;
160 // std::cout<<"@@@@@@@@@@@@@@@@@@@6"<<std::endl;
162 // std::cout<<"3@@@@@@@@@@@@@@@@@@@"<<m_TableVector.size()<<std::endl;
163 m_first = false;
164 std::cout << "MyFrame init() succuss"
165 << "criteria num=" << m_idCriteria << std::endl;
166 }

Referenced by HltConfigSvc::handle(), and HltConfigSvc::initialize().

◆ instance()

MyFrame * HltProcessor::MyFrame::instance ( )
static

Definition at line 21 of file MyFrame.cxx.

21 {
22 if ( s_FrameInstance == 0 ) { s_FrameInstance = new MyFrame; }
23 return s_FrameInstance;
24 }

Referenced by HltConfigSvc::handle(), HltConfigSvc::initialize(), and HltConfigSvc::retrieve().

◆ makeTableVector()

void HltProcessor::MyFrame::makeTableVector ( )

Definition at line 168 of file MyFrame.cxx.

168 {
169 // MsgStream log(m_msgSvcProvider->msgSvc(), m_thisName);
170
171 for ( unsigned int i = 0; i < m_SequenceVec.size(); i++ )
172 {
173 std::string seqId = m_SequenceVec[i]->getSeqID();
174 bool matched = false;
175 for ( unsigned int j = 0; j < m_SignatureVec.size(); j++ )
176 {
177 if ( m_SignatureVec[j]->label() == m_SequenceVec[i]->getSeqID() )
178 {
179 m_TableVector.push_back( std::make_pair( m_SignatureVec[j], m_SequenceVec[i] ) );
180 matched = true;
181 break;
182 }
183 }
184 if ( !matched )
185 {
186 // log << MSG::ERROR << "No matched Signature to Sequence(" << seqId << ")" << endmsg;
187 exit( 1 );
188 }
189 }
190 }

Referenced by init().


The documentation for this class was generated from the following files: