Project
Loading...
Searching...
No Matches
Cluster.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#ifndef TRACKINGITSU_INCLUDE_CACLUSTER_H_
17#define TRACKINGITSU_INCLUDE_CACLUSTER_H_
18
19#include <array>
21#include "GPUCommonRtypes.h"
22#include "GPUCommonDef.h"
23
24namespace o2::its
25{
26
27template <int>
28class IndexTableUtils;
29
30struct Cluster final {
31 GPUhdDefault() Cluster() = default;
32 GPUhd() Cluster(const float x, const float y, const float z, const int idx);
33 template <int nLayers>
34 GPUhd() Cluster(const int, const IndexTableUtils<nLayers>& utils, const Cluster&);
35 template <int nLayers>
36 GPUhd() Cluster(const int, const float3&, const IndexTableUtils<nLayers>& utils, const Cluster&);
37 GPUhdDefault() Cluster(const Cluster&) = default;
38 GPUhdDefault() Cluster(Cluster&&) noexcept = default;
39 GPUhdDefault() ~Cluster() = default;
40
41 GPUhdDefault() Cluster& operator=(const Cluster&) = default;
42 GPUhdDefault() Cluster& operator=(Cluster&&) noexcept = default;
43 GPUhdDefault() bool operator==(const Cluster&) const = default;
44
45 GPUhd() void print() const;
46
47 float xCoordinate{-999.f};
48 float yCoordinate{-999.f};
49 float zCoordinate{-999.f};
50 float phi{-999.f};
51 float radius{-999.f};
54
56};
57
58struct TrackingFrameInfo final {
60 GPUhd() TrackingFrameInfo(float x, float y, float z, float xTF, float alpha, std::array<float, 2>&& posTF, std::array<float, 3>&& covTF);
64
65 GPUhdDefault() TrackingFrameInfo& operator=(const TrackingFrameInfo&) = default;
67
68 GPUhd() void print() const;
69
70 float xCoordinate{-999.f};
71 float yCoordinate{-999.f};
72 float zCoordinate{-999.f};
73 float xTrackingFrame{-999.f};
74 float alphaTrackingFrame{-999.f};
75 std::array<float, 2> positionTrackingFrame = {-999.f, -999.f};
76 std::array<float, 3> covarianceTrackingFrame = {-999.f, -999.f, -999.f};
77
79};
80
81} // namespace o2::its
82
83#endif /* TRACKINGITSU_INCLUDE_CACLUSTER_H_ */
void print() const
GLfloat GLfloat GLfloat alpha
Definition glcorearb.h:279
GLint GLenum GLint x
Definition glcorearb.h:403
GLenum array
Definition glcorearb.h:4274
GLdouble GLdouble GLdouble z
Definition glcorearb.h:843
constexpr int UnusedIndex
Definition Constants.h:35
Common utility functions.
float yCoordinate
Definition Cluster.h:48
GPUhdDefault() Cluster()=default
float zCoordinate
Definition Cluster.h:49
ClassDefNV(Cluster, 1)
const float const float const int idx
Definition Cluster.h:32
int indexTableBinIndex
Definition Cluster.h:53
GPUhd() Cluster(const float x
float xCoordinate
Definition Cluster.h:47
float float float float std::array< float, 2 > && posTF
Definition Cluster.h:60
float float float xTF
Definition Cluster.h:60
GPUhdDefault() TrackingFrameInfo()=default
std::array< float, 2 > positionTrackingFrame
Definition Cluster.h:75
ClassDefNV(TrackingFrameInfo, 1)
float float float float std::array< float, 2 > std::array< float, 3 > && covTF
Definition Cluster.h:60
std::array< float, 3 > covarianceTrackingFrame
Definition Cluster.h:76
GPUhd() TrackingFrameInfo(float x