File ExaTrkXTrackFindingBase.hpp

namespace Acts


This file is foreseen for the Geometry module to replace Extent

class ExaTrkXTrackFindingBase
#include <Acts/Plugins/ExaTrkX/ExaTrkXTrackFindingBase.hpp>

Base class for all implementations of the Exa.TrkX pipeline.

Subclassed by Acts::ExaTrkXTrackFindingOnnx, Acts::ExaTrkXTrackFindingTorch

Public Functions

inline ExaTrkXTrackFindingBase(const std::string &name)



name – An identifier available e.g. for debug output

ExaTrkXTrackFindingBase() = delete
ExaTrkXTrackFindingBase(const ExaTrkXTrackFindingBase&) = delete
inline virtual ~ExaTrkXTrackFindingBase()


virtual std::optional<ExaTrkXTime> getTracks(std::vector<float> &inputValues, std::vector<int> &spacepointIDs, std::vector<std::vector<int>> &trackCandidates, const Acts::Logger &logger = Acts::getDummyLogger(), bool recordTiming = false) const = 0

Run the inference.


The input values are not const, because the ONNX API takes only non-const pointers.

  • inputValues – Spacepoint data as a flattened NxD array, where D is the dimensionality of a spacepoint (usually 3, but additional information like cell information can be provided).

  • spacepointIDs – The corresponding spacepoint IDs

  • trackCandidates – This vector is filled with the tracks as vectors of spacepoint IDs

  • logger – If provided, logging is enabled

  • recordTiming – If enabled, returns a ExaTrkXTime object with measured timings

inline const std::string &name() const

Returns the name of the algorithm.

ExaTrkXTrackFindingBase &operator=(const ExaTrkXTrackFindingBase&) = delete

Private Members

std::string m_name