ATLAS Offline Software
Loading...
Searching...
No Matches
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"
12
13#include <vector>
14
15//Forward declarations
16namespace JiveXML{
17 class IFormatTool;
18 class IStreamTool;
19}
20
21namespace 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
38 StatusCode initialize();
39 StatusCode execute();
40 StatusCode finalize();
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
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
ToolHandle< JiveXML::IStreamTool > m_StreamToServerTool
Definition AlgoJiveXML.h:68
AlgoJiveXML(const std::string &name, ISvcLocator *pSvcLocator)
ToolHandle< JiveXML::IStreamTool > m_StreamToFileTool
Streaming tools that pass the formatted XML text into a file, to a server, etc.
Definition AlgoJiveXML.h:67
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
StatusCode execute()
Execute - called for every event.
Gaudi::Property< bool > m_writeToFile
Definition AlgoJiveXML.h:44
StatusCode initialize()
Initialize - called once in the beginning.
uint32_t m_previousRunNumber
Definition AlgoJiveXML.h:70
Gaudi::Property< bool > m_onlineMode
Definition AlgoJiveXML.h:45
StatusCode finalize()
Finalize called once in the end.
Gaudi::Property< bool > m_writeGeometry
Definition AlgoJiveXML.h:46
Gaudi::Property< bool > m_ready4PhysicsAtStart
Definition AlgoJiveXML.h:49
Gaudi::Property< std::vector< std::string > > m_GeoWriterNames
Definition AlgoJiveXML.h:48
Gaudi::Property< std::string > m_geometryVersionIn
Definition AlgoJiveXML.h:47
ToolHandleArray< JiveXML::IDataRetriever > m_DataRetrieverTools
The list of DataRetrievers.
Definition AlgoJiveXML.h:55
Gaudi::Property< std::string > m_AtlasRelease
Definition AlgoJiveXML.h:43
Abstract interface to event data formatting classes.
Definition IFormatTool.h:23
Abstract interface to JiveXML event streaming classes.
Definition IStreamTool.h:24
This header is shared inbetween the C-style server thread and the C++ Athena ServerSvc.