Project
Loading...
Searching...
No Matches
TrackerTraitsGPU.h
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
12
13#ifndef ITSTRACKINGGPU_TRACKERTRAITSGPU_H_
14#define ITSTRACKINGGPU_TRACKERTRAITSGPU_H_
15
18
19namespace o2
20{
21namespace its
22{
23
24template <int nLayers = 7>
25class TrackerTraitsGPU final : public TrackerTraits
26{
27 public:
28 TrackerTraitsGPU() = default;
29 ~TrackerTraitsGPU() override = default;
30
31 void adoptTimeFrame(TimeFrame* tf) final;
32 void initialiseTimeFrame(const int iteration) final;
33
34 void computeLayerTracklets(const int iteration, int, int) final;
35 void computeLayerCells(const int iteration) final;
36 void findCellsNeighbours(const int iteration) final;
37 void findRoads(const int iteration) final;
38
39 bool supportsExtendTracks() const noexcept final { return false; }
40 bool supportsFindShortPrimaries() const noexcept final { return false; }
41
42 void setBz(float) final;
43
44 const char* getName() const noexcept final { return "GPU"; }
45 bool isGPU() const noexcept final { return true; }
46
47 // TimeFrameGPU information forwarding
48 int getTFNumberOfClusters() const override;
49 int getTFNumberOfTracklets() const override;
50 int getTFNumberOfCells() const override;
51
52 private:
53 IndexTableUtils* mDeviceIndexTableUtils;
54 gpu::TimeFrameGPU<7>* mTimeFrameGPU;
55};
56
57template <int nLayers>
59{
60 mTimeFrameGPU = static_cast<gpu::TimeFrameGPU<nLayers>*>(tf);
61 mTimeFrame = static_cast<TimeFrame*>(tf);
62}
63} // namespace its
64} // namespace o2
65
66#endif
int getTFNumberOfClusters() const override
void initialiseTimeFrame(const int iteration) final
~TrackerTraitsGPU() override=default
bool supportsFindShortPrimaries() const noexcept final
const char * getName() const noexcept final
bool supportsExtendTracks() const noexcept final
void adoptTimeFrame(TimeFrame *tf) final
void findCellsNeighbours(const int iteration) final
void computeLayerCells(const int iteration) final
void computeLayerTracklets(const int iteration, int, int) final
int getTFNumberOfTracklets() const override
bool isGPU() const noexcept final
int getTFNumberOfCells() const override
void findRoads(const int iteration) final
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
std::unique_ptr< GPUReconstructionTimeframe > tf