Project
Loading...
Searching...
No Matches
GPUChainITS.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.
11
14
15#ifndef GPUCHAINITS_H
16#define GPUCHAINITS_H
17
18#include "GPUChain.h"
19namespace o2::its
20{
21struct Cluster;
22template <uint8_t N>
23class Road;
24class Cell;
25struct TrackingFrameInfo;
26class TrackITSExt;
27class GPUFrameworkExternalAllocator;
28} // namespace o2::its
29
30namespace o2::gpu
31{
32class GPUChainITS : public GPUChain
33{
34 friend class GPUReconstruction;
35
36 public:
37 ~GPUChainITS() override;
39 void RegisterGPUProcessors() override;
40 int32_t Init() override;
41 int32_t PrepareEvent() override;
42 int32_t Finalize() override;
43 int32_t RunChain() override;
44 void MemorySize(size_t& gpuMem, size_t& pageLockedHostMem) override;
45
49
50 protected:
52 std::unique_ptr<o2::its::TrackerTraits> mITSTrackerTraits;
53 std::unique_ptr<o2::its::VertexerTraits> mITSVertexerTraits;
54 std::unique_ptr<o2::its::TimeFrame> mITSTimeFrame;
55 std::unique_ptr<o2::its::GPUFrameworkExternalAllocator> mFrameworkAllocator;
56
57 uint32_t mMaxTracks;
58};
59} // namespace o2::gpu
60
61#endif
#define GPUCA_MAX_ITS_FIT_TRACKS
void RegisterPermanentMemoryAndProcessors() override
std::unique_ptr< o2::its::TrackerTraits > mITSTrackerTraits
Definition GPUChainITS.h:52
void MemorySize(size_t &gpuMem, size_t &pageLockedHostMem) override
int32_t RunChain() override
int32_t PrepareEvent() override
std::unique_ptr< o2::its::GPUFrameworkExternalAllocator > mFrameworkAllocator
Definition GPUChainITS.h:55
o2::its::VertexerTraits * GetITSVertexerTraits()
void RegisterGPUProcessors() override
std::unique_ptr< o2::its::TimeFrame > mITSTimeFrame
Definition GPUChainITS.h:54
int32_t Init() override
o2::its::TimeFrame * GetITSTimeframe()
o2::its::TrackerTraits * GetITSTrackerTraits()
int32_t Finalize() override
std::unique_ptr< o2::its::VertexerTraits > mITSVertexerTraits
Definition GPUChainITS.h:53
GPUReconstruction * rec()
Definition GPUChain.h:62
HMPID cluster implementation.
Definition Cluster.h:27