Project
Loading...
Searching...
No Matches
VertexerTraitsGPU.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.
15
16// #define VTX_DEBUG
17#ifndef ITSTRACKINGGPU_VERTEXERTRAITSGPU_H_
18#define ITSTRACKINGGPU_VERTEXERTRAITSGPU_H_
19
20#include <vector>
21#include <array>
22
25#include "ITStracking/Cluster.h"
29
31
32namespace o2
33{
34namespace its
35{
36class ROframe;
37
39
41{
42 public:
44 ~VertexerTraitsGPU() = default;
45 void initialise(const TrackingParameters&, const int iteration = 0) override;
46 void adoptTimeFrame(TimeFrame*) override;
47 void computeTracklets(const int iteration = 0) override;
48 void computeTrackletMatching(const int iteration = 0) override;
49 void computeVertices(const int iteration = 0) override;
50 void updateVertexingParameters(const std::vector<VertexingParameters>&, const TimeFrameGPUParameters&) override;
51
52 // Hybrid
53 void initialiseHybrid(const TrackingParameters& pars, const int iteration = 0) override { VertexerTraits::initialise(pars, iteration); }
54 void computeTrackletsHybrid(const int iteration = 0) override { VertexerTraits::computeTracklets(iteration); }
55 void computeTrackletMatchingHybrid(const int iteration = 0) override { VertexerTraits::computeTrackletMatching(iteration); }
56 void computeVerticesHybrid(const int iteration = 0) override { VertexerTraits::computeVertices(iteration); }
58
60
61 protected:
65};
66
68{
69 mTimeFrameGPU = static_cast<gpu::TimeFrameGPU<7>*>(tf);
70 mTimeFrame = static_cast<TimeFrame*>(tf);
71}
72
73} // namespace its
74} // namespace o2
75#endif
Class to compute the primary vertex in ITS from tracklets.
void computeTrackletMatching(const int iteration=0) override
TimeFrameGPUParameters mTfGPUParams
void initialiseHybrid(const TrackingParameters &pars, const int iteration=0) override
IndexTableUtils * mDeviceIndexTableUtils
void initialise(const TrackingParameters &, const int iteration=0) override
void adoptTimeFrame(TimeFrame *) override
void computeVerticesHybrid(const int iteration=0) override
gpu::TimeFrameGPU< 7 > * mTimeFrameGPU
void computeTracklets(const int iteration=0) override
void updateVertexingParameters(const std::vector< VertexingParameters > &, const TimeFrameGPUParameters &) override
void computeTrackletsHybrid(const int iteration=0) override
void computeVertices(const int iteration=0) override
void computeTrackletMatchingHybrid(const int iteration=0) override
void adoptTimeFrameHybrid(TimeFrame *tf) override
virtual void adoptTimeFrame(TimeFrame *tf)
virtual void computeTrackletMatching(const int iteration=0)
virtual void computeTracklets(const int iteration=0)
const const float float const IndexTableUtils float const IndexTableUtils &virtual void initialise(const TrackingParameters &trackingParams, const int iteration=0)
virtual void computeVertices(const int iteration=0)
constexpr float InversePhiBinSize
Definition Constants.h:79
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
std::unique_ptr< GPUReconstructionTimeframe > tf