ATLAS Offline Software
Loading...
Searching...
No Matches
TracccTritonRunner.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
11
12#ifndef TRACCC_TRITON_RUNNER_H
13#define TRACCC_TRITON_RUNNER_H
14
15#include <cstddef>
16#include <cstdint>
17#include <memory>
18
22
23#include "GaudiKernel/EventIDBase.h"
24#include "vecmem/memory/host_memory_resource.hpp"
25
26namespace triton { namespace backend { namespace traccc {
27
29
33
35public:
42 struct Output {
43 Output() = default;
44 Output(const Output&) = delete;
45 Output& operator=(const Output&) = delete;
46
47 vecmem::host_memory_resource mr;
48 ::traccc::edm::measurement_collection::host measurements{mr};
49 ::traccc::edm::silicon_cluster_collection::host clusters{mr};
50 traccc_track_container::host tracks{mr};
51 };
52
56 TracccTritonRunner(TracccTritonInitializer& initializer, std::size_t slot);
57
59
62
75 void run(const uint8_t* buffer, std::size_t byteSize,
76 const EventIDBase& eventID, EventIDBase::number_type conditionsRun,
77 bool printStats, Output& output);
78
79private:
80 struct Impl;
81 std::unique_ptr<Impl> m_impl;
82};
83
84}}} // namespace triton::backend::traccc
85
86#endif // TRACCC_TRITON_RUNNER_H
Owns the embedded Athena application that backs the Traccc Triton backend, plus the process-wide devi...
TracccTritonRunner(const TracccTritonRunner &)=delete
TracccTritonRunner(TracccTritonInitializer &initializer, std::size_t slot)
TracccTritonInitializer::acquireSlot().
void run(const uint8_t *buffer, std::size_t byteSize, const EventIDBase &eventID, EventIDBase::number_type conditionsRun, bool printStats, Output &output)
Run the full chain for one request.
TracccTritonRunner & operator=(const TracccTritonRunner &)=delete
The host-resident reconstruction result of one request: the track container, the measurements its sta...
::traccc::edm::silicon_cluster_collection::host clusters
::traccc::edm::measurement_collection::host measurements