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::its
20{
21
22template <int nLayers = 7>
23class TrackerTraitsGPU final : public TrackerTraits<nLayers>
24{
25 public:
26 TrackerTraitsGPU() = default;
27 ~TrackerTraitsGPU() final = default;
28
29 void adoptTimeFrame(TimeFrame<nLayers>* tf) final;
30 void initialiseTimeFrame(const int iteration) final;
31
32 void computeLayerTracklets(const int iteration, int, int) final;
33 void computeLayerCells(const int iteration) final;
34 void findCellsNeighbours(const int iteration) final;
35 void findRoads(const int iteration) final;
36
37 bool supportsExtendTracks() const noexcept final { return false; }
38 bool supportsFindShortPrimaries() const noexcept final { return false; }
39
40 void setBz(float) final;
41
42 const char* getName() const noexcept final { return "GPU"; }
43 bool isGPU() const noexcept final { return true; }
44
45 // TimeFrameGPU information forwarding
46 int getTFNumberOfClusters() const override;
47 int getTFNumberOfTracklets() const override;
48 int getTFNumberOfCells() const override;
49
50 private:
51 IndexTableUtils* mDeviceIndexTableUtils;
52 gpu::TimeFrameGPU<nLayers>* mTimeFrameGPU;
53};
54
55} // namespace o2::its
56
57#endif
int getTFNumberOfClusters() const override
void initialiseTimeFrame(const int iteration) final
bool supportsFindShortPrimaries() const noexcept final
const char * getName() const noexcept final
bool supportsExtendTracks() const noexcept final
void findCellsNeighbours(const int iteration) final
void adoptTimeFrame(TimeFrame< nLayers > *tf) final
void computeLayerCells(const int iteration) final
~TrackerTraitsGPU() final=default
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
std::unique_ptr< GPUReconstructionTimeframe > tf