ATLAS Offline Software
AlgoJiveXML.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 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/MsgStream.h"
11 #include "JiveXML/IDataRetriever.h"
12 
13 #include <vector>
14 
15 //Forward declarations
16 namespace JiveXML{
17  class IFormatTool;
18  class IStreamTool;
19 }
20 
21 namespace JiveXML {
22 
30  class AlgoJiveXML : public AthAlgorithm {
31 
32  public:
33 
34  //Constructor
35  AlgoJiveXML (const std::string& name, ISvcLocator* pSvcLocator);
36 
37  //Default Athena algorithm methods
41  private:
42 
43  Gaudi::Property<std::string> m_AtlasRelease {this, "AtlasRelease", "unknown", "The Athena release number"};
44  Gaudi::Property<bool> m_writeToFile {this, "WriteToFile", true, "Whether XML files shall be produced"};
45  Gaudi::Property<bool> m_onlineMode {this, "OnlineMode", false, "Whether an XMLRPC server shall be started"};
46  Gaudi::Property<bool> m_writeGeometry {this, "WriteGeometry", false, "Whether Geometry-XML files shall be produced"};
47  Gaudi::Property<std::string> m_geometryVersionIn {this, "GeometryVersion", "default", "Geometry version as read from Athena"};
48  Gaudi::Property<std::vector<std::string>> m_GeoWriterNames {this, "GeoWriterNames", {"JiveXML::GeometryWriter/GeometryWriter","JiveXML::MuonGeometryWriter/MuonGeometryWriter"}, "The names of the geometry-writer tools"};
49  Gaudi::Property<bool> m_ready4PhysicsAtStart {this, "Ready4PhysicsAtStart", false, "ATLAS is ready for physics when this job was launched"};
55  ToolHandleArray<JiveXML::IDataRetriever> m_DataRetrieverTools{this, "DataRetrieverTools", {}, ""};
56 
61  ToolHandle<JiveXML::IFormatTool> m_FormatTool {this, "FormatTool", "JiveXML::XMLFormatTool/XMLFormatTool", "Format tool"};
62 
67  ToolHandle<JiveXML::IStreamTool> m_StreamToFileTool {this, "StreamToFileTool", "JiveXML::StreamToFileTool/StreamToFileTool", "Stream to file tool"};
68  ToolHandle<JiveXML::IStreamTool> m_StreamToServerTool {this, "StreamToServerTool", "JiveXML::StreamServerTool/StreamToServerTool", "Stream to server tool"};
69 
71  };
72 
73 }//namespace
74 #endif
JiveXML::AlgoJiveXML::m_writeToFile
Gaudi::Property< bool > m_writeToFile
Definition: AlgoJiveXML.h:44
JiveXML::AlgoJiveXML::m_GeoWriterNames
Gaudi::Property< std::vector< std::string > > m_GeoWriterNames
Definition: AlgoJiveXML.h:48
JiveXML::AlgoJiveXML::m_DataRetrieverTools
ToolHandleArray< JiveXML::IDataRetriever > m_DataRetrieverTools
The list of DataRetrievers.
Definition: AlgoJiveXML.h:55
JiveXML::AlgoJiveXML::m_onlineMode
Gaudi::Property< bool > m_onlineMode
Definition: AlgoJiveXML.h:45
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
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:61
JiveXML::AlgoJiveXML::AlgoJiveXML
AlgoJiveXML(const std::string &name, ISvcLocator *pSvcLocator)
Definition: AlgoJiveXML.cxx:22
JiveXML::AlgoJiveXML::execute
StatusCode execute()
Execute - called for every event.
Definition: AlgoJiveXML.cxx:114
JiveXML::AlgoJiveXML::finalize
StatusCode finalize()
Finalize called once in the end.
Definition: AlgoJiveXML.cxx:346
JiveXML::AlgoJiveXML::m_geometryVersionIn
Gaudi::Property< std::string > m_geometryVersionIn
Definition: AlgoJiveXML.h:47
JiveXML::AlgoJiveXML::m_AtlasRelease
Gaudi::Property< std::string > m_AtlasRelease
Definition: AlgoJiveXML.h:43
AthAlgorithm.h
JiveXML::AlgoJiveXML::initialize
StatusCode initialize()
Initialize - called once in the beginning.
Definition: AlgoJiveXML.cxx:32
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:22
JiveXML::AlgoJiveXML::m_StreamToServerTool
ToolHandle< JiveXML::IStreamTool > m_StreamToServerTool
Definition: AlgoJiveXML.h:68
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
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:67
JiveXML::AlgoJiveXML::m_previousRunNumber
uint32_t m_previousRunNumber
Definition: AlgoJiveXML.h:70
JiveXML::AlgoJiveXML
Converts Reconstructed Event Data objects into XML files which can be read by, for example,...
Definition: AlgoJiveXML.h:30
JiveXML::AlgoJiveXML::m_writeGeometry
Gaudi::Property< bool > m_writeGeometry
Definition: AlgoJiveXML.h:46
JiveXML::AlgoJiveXML::m_ready4PhysicsAtStart
Gaudi::Property< bool > m_ready4PhysicsAtStart
Definition: AlgoJiveXML.h:49
IDataRetriever.h