5#ifndef SICLUSTERIZATIONTOOL_ONNXNNCONDALG_H
6#define SICLUSTERIZATIONTOOL_ONNXNNCONDALG_H
9#include "GaudiKernel/ServiceHandle.h"
13#include <onnxruntime_cxx_api.h>
23 virtual StatusCode
execute(
const EventContext& ctx)
const override;
27 std::unique_ptr<Ort::Session>
createSession(
const std::string& modelPath)
const;
30 this,
"OnnxRuntimeSvc",
"AthOnnx::OnnxRuntimeSvc",
31 "Handle to the ONNX Runtime service"};
34 this,
"WriteKey",
"PixelClusterNNONNX",
35 "Output conditions key for ONNX NN collection"};
38 this,
"NumberNetworkPath",
"",
39 "Path to ONNX model for number network"};
42 this,
"PositionNetwork1Path",
"",
43 "Path to ONNX model for 1-particle position network"};
46 this,
"PositionNetwork2Path",
"",
47 "Path to ONNX model for 2-particle position network"};
50 this,
"PositionNetwork3Path",
"",
51 "Path to ONNX model for 3-particle position network"};
An algorithm that can be simultaneously executed in multiple threads.
Gaudi::Property< std::string > m_numberNetworkPath
std::unique_ptr< Ort::Session > createSession(const std::string &modelPath) const
Gaudi::Property< std::string > m_posNetwork1Path
virtual bool isReEntrant() const override
virtual StatusCode execute(const EventContext &ctx) const override
SG::WriteCondHandleKey< OnnxNNCollection > m_writeKey
virtual ~OnnxNNCondAlg()=default
Gaudi::Property< std::string > m_posNetwork3Path
virtual StatusCode initialize() override
Gaudi::Property< std::string > m_posNetwork2Path
ServiceHandle< AthOnnx::IOnnxRuntimeSvc > m_onnxSvc