ATLAS Offline Software
AlgoJiveXML.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef JIVEXML_ALGOJIVEXML_H
6 #define JIVEXML_ALGOJIVEXML_H
7 
9 #include "GaudiKernel/ToolHandle.h"
10 #include "GaudiKernel/ServiceHandle.h"
11 #include "GaudiKernel/MsgStream.h"
12 #include "JiveXML/IDataRetriever.h"
14 #include <vector>
15 
16 //Forward declarations
17 namespace JiveXML{
18  // class IDataRetriever;
19  class IFormatTool;
20  class IStreamTool;
21 }
22 
23 namespace JiveXML {
24 
32  class AlgoJiveXML : public AthAlgorithm {
33 
34  public:
35 
36  //Constructor
37  AlgoJiveXML (const std::string& name, ISvcLocator* pSvcLocator);
38 
39  //Default Athena algorithm methods
43  private:
44 
45  Gaudi::Property<std::string> m_AtlasRelease {this, "AtlasRelease", "unknown", "The Athena release number"};
46  Gaudi::Property<std::vector<std::string>> m_dataTypes {this, "DataTypes", {}, "List of data retriever names to be run"};
47  Gaudi::Property<bool> m_writeToFile {this, "WriteToFile", true, "Whether XML files shall be produced"};
48  Gaudi::Property<bool> m_onlineMode {this, "OnlineMode", false, "Whether an XMLRPC server shall be started"};
49  Gaudi::Property<bool> m_writeGeometry {this, "WriteGeometry", false, "Whether Geometry-XML files shall be produced"};
50  Gaudi::Property<std::string> m_geometryVersionIn {this, "GeometryVersion", "default", "Geometry version as read from Athena"};
51  Gaudi::Property<std::vector<std::string>> m_GeoWriterNames {this, "GeoWriterNames", {"JiveXML::GeometryWriter/GeometryWriter","JiveXML::MuonGeometryWriter/MuonGeometryWriter"}, "The names of the geometry-writer tools"};
57  ToolHandleArray<JiveXML::IDataRetriever> m_DataRetrievers;
58 
63  ToolHandle<JiveXML::IFormatTool> m_FormatTool {this, "FormatTool", "JiveXML::XMLFormatTool/XMLFormatTool", "Format tool"};
64 
69  ToolHandle<JiveXML::IStreamTool> m_StreamToFileTool {this, "StreamToFileTool", "JiveXML::StreamToFileTool/StreamToFileTool", "Stream to file tool"};
70  ToolHandle<JiveXML::IStreamTool> m_StreamToServerTool {this, "StreamToServerTool", "JiveXML::StreamServerTool/StreamToServerTool", "Stream to server tool"};
71 
72  };
73 
74 }//namespace
75 #endif
JiveXML::AlgoJiveXML::m_writeToFile
Gaudi::Property< bool > m_writeToFile
Definition: AlgoJiveXML.h:47
JiveXML::AlgoJiveXML::m_GeoWriterNames
Gaudi::Property< std::vector< std::string > > m_GeoWriterNames
Definition: AlgoJiveXML.h:51
JiveXML::AlgoJiveXML::m_onlineMode
Gaudi::Property< bool > m_onlineMode
Definition: AlgoJiveXML.h:48
JiveXML::AlgoJiveXML::m_dataTypes
Gaudi::Property< std::vector< std::string > > m_dataTypes
Definition: AlgoJiveXML.h:46
JiveXML::AlgoJiveXML::m_FormatTool
ToolHandle< JiveXML::IFormatTool > m_FormatTool
Handle to the formatting tool, which is passed on to the data retrievers and converts the data into X...
Definition: AlgoJiveXML.h:63
JiveXML::AlgoJiveXML::AlgoJiveXML
AlgoJiveXML(const std::string &name, ISvcLocator *pSvcLocator)
Definition: AlgoJiveXML.cxx:21
JiveXML::AlgoJiveXML::execute
StatusCode execute()
Execute - called for every event.
Definition: AlgoJiveXML.cxx:139
JiveXML::AlgoJiveXML::finalize
StatusCode finalize()
Finalize called once in the end.
Definition: AlgoJiveXML.cxx:315
JiveXML::AlgoJiveXML::m_geometryVersionIn
Gaudi::Property< std::string > m_geometryVersionIn
Definition: AlgoJiveXML.h:50
JiveXML::AlgoJiveXML::m_AtlasRelease
Gaudi::Property< std::string > m_AtlasRelease
Definition: AlgoJiveXML.h:45
AthAlgorithm.h
JiveXML::AlgoJiveXML::initialize
StatusCode initialize()
Initialize - called once in the beginning.
Definition: AlgoJiveXML.cxx:31
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgorithm
Definition: AthAlgorithm.h:47
JiveXML
This header is shared inbetween the C-style server thread and the C++ Athena ServerSvc.
Definition: BadLArRetriever.cxx:21
JiveXML::AlgoJiveXML::m_StreamToServerTool
ToolHandle< JiveXML::IStreamTool > m_StreamToServerTool
Definition: AlgoJiveXML.h:70
JiveXML::AlgoJiveXML::m_DataRetrievers
ToolHandleArray< JiveXML::IDataRetriever > m_DataRetrievers
The list of DataRetrievers.
Definition: AlgoJiveXML.h:57
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
JiveXML::AlgoJiveXML::m_StreamToFileTool
ToolHandle< JiveXML::IStreamTool > m_StreamToFileTool
Streaming tools that pass the formatted XML text into a file, to a server, etc.
Definition: AlgoJiveXML.h:69
EventInfo.h
JiveXML::AlgoJiveXML
Converts Reconstructed Event Data objects into XML files which can be read by, for example,...
Definition: AlgoJiveXML.h:32
JiveXML::AlgoJiveXML::m_writeGeometry
Gaudi::Property< bool > m_writeGeometry
Definition: AlgoJiveXML.h:49
IDataRetriever.h