17 declareInterface<IFormatTool>(
this);
28 return StatusCode::SUCCESS;
38 return StatusCode::SUCCESS;
51 return StatusCode::SUCCESS;
61 const std::string& dateTime,
62 const unsigned int lumiBlock,
63 const std::string& eventProperty,
64 const std::string& geometryVersion ){
75 (*m_EventBuffer) <<
"<?xml version=\"1.0\"?>" << std::endl
76 <<
"<?xml-stylesheet type=\"text/xsl\" href=\"JiveXML_event.xsl\"?>" << std::endl
77 <<
"<?ATLAS Release: \"" <<
m_release <<
"\"?>" << std::endl
78 <<
"<!DOCTYPE Event SYSTEM \"event.dtd\">"
79 << std::endl << std::endl << std::endl;
82 (*m_EventBuffer) <<
"<Event version=\"" <<
m_release <<
"\""
83 <<
" runNumber=\"" << RunNumber <<
"\""
84 <<
" eventNumber=\"" << EventNumber <<
"\""
85 <<
" lumiBlock=\"" << lumiBlock <<
"\""
86 <<
" dateTime=\"" << dateTime <<
"\""
87 <<
" geometryVersion=\"" << geometryVersion <<
"\""
88 <<
" eventProperty=\"" << eventProperty <<
"\""
89 <<
">" << std::endl << std::endl << std::endl;
91 return StatusCode::SUCCESS;
100 (*m_EventBuffer) <<
"</Event>\n";
102 return StatusCode::SUCCESS;
113 const std::string& key,
116 DataMap::const_iterator itr;
119 bool map_is_empty =
true;
120 for(itr=aMap->begin(); itr!=aMap->end(); ++itr) {
121 if (itr->second.size()) {
122 map_is_empty =
false;
128 if(map_is_empty)
return StatusCode::SUCCESS;
131 (*m_EventBuffer) <<
"<" << component ;
134 for (itr=aMap->begin(); itr!=aMap->end(); ++itr) {
135 if ((itr->first.find(
"multiple"))==std::string::npos) {
137 (*m_EventBuffer) <<
" count=\""<< itr->second.size()<<
"\""
138 <<
" storeGateKey=\""<< key<<
"\"";
144 (*m_EventBuffer) <<
">" << std::endl << std::endl;
147 for(itr=aMap->begin(); itr!=aMap->end() ;++itr) {
150 (*m_EventBuffer) <<
"<" << (*itr).first <<
">\n";
154 for (DataVect::const_iterator itr2 = (*itr).second.begin(); itr2!=(*itr).second.end(); ++itr2){
156 (*m_EventBuffer) << (*itr2);
157 if ((*itr).first ==
"identifier"){
158 (*m_EventBuffer) <<
"\n";
161 (*m_EventBuffer) <<
"\n";
164 (*m_EventBuffer) <<
" ";
169 int i = (*itr).first.find(
' ');
170 if (i !=
int(std::string::npos))
171 (*m_EventBuffer) <<
"\n</" << (*itr).first.substr(0,i) <<
">\n";
177 (*m_EventBuffer) <<
"</" << component <<
">\n\n";
179 return StatusCode::SUCCESS;
This header is shared inbetween the C-style server thread and the C++ Athena ServerSvc.
std::map< std::string, DataVect > DataMap
std::pair< std::string, std::string > TagType
Defines a tag as a pair of strings.