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
23namespace o2::its
24{
25
26template <int>
27class IndexTableUtils;
28
29struct Cluster final {
30 GPUhdDefault() Cluster() = default;
31 GPUhd() Cluster(const float x, const float y, const float z, const int idx);
32 template <int nLayers>
33 GPUhd() Cluster(const int, const IndexTableUtils<nLayers>& utils, const Cluster&);
34 template <int nLayers>
35 GPUhd() Cluster(const int, const float3&, const IndexTableUtils<nLayers>& utils, const Cluster&);
36 GPUhdDefault() Cluster(const Cluster&) = default;
37 GPUhdDefault() Cluster(Cluster&&) noexcept = default;
38 GPUhdDefault() ~Cluster() = default;
39
40 GPUhdDefault() Cluster& operator=(const Cluster&) = default;
41 GPUhdDefault() Cluster& operator=(Cluster&&) noexcept = default;
42 GPUhdDefault() bool operator==(const Cluster&) const = default;
43
44 GPUhd() void print() const;
45
46 float xCoordinate{-999.f};
47 float yCoordinate{-999.f};
48 float zCoordinate{-999.f};
49 float phi{-999.f};
50 float radius{-999.f};
51 int clusterId{constants::UnusedIndex};
52 int indexTableBinIndex{constants::UnusedIndex};
53
55};
56
57struct TrackingFrameInfo final {
59 GPUhd() TrackingFrameInfo(float x, float y, float z, float xTF, float alpha, std::array<float, 2>&& posTF, std::array<float, 3>&& covTF);
63
64 GPUhdDefault() TrackingFrameInfo& operator=(const TrackingFrameInfo&) = default;
66
67 GPUhd() void print() const;
68
69 float xCoordinate{-999.f};
70 float yCoordinate{-999.f};
71 float zCoordinate{-999.f};
72 float xTrackingFrame{-999.f};
73 float alphaTrackingFrame{-999.f};
74 std::array<float, 2> positionTrackingFrame = {constants::UnusedIndex, constants::UnusedIndex};
75 std::array<float, 3> covarianceTrackingFrame = {999., 999., 999.};
76
78};
79
80} // namespace o2::its
81
82#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
Defining DataPointCompositeObject explicitly as copiable.
Common utility functions.
float yCoordinate
Definition Cluster.h:47
GPUhdDefault() Cluster()=default
float zCoordinate
Definition Cluster.h:48
ClassDefNV(Cluster, 1)
const float const float const int idx
Definition Cluster.h:31
int indexTableBinIndex
Definition Cluster.h:52
GPUhd() Cluster(const float x
float xCoordinate
Definition Cluster.h:46
float float float float std::array< float, 2 > && posTF
Definition Cluster.h:59
float float float xTF
Definition Cluster.h:59
GPUhdDefault() TrackingFrameInfo()=default
std::array< float, 2 > positionTrackingFrame
Definition Cluster.h:74
ClassDefNV(TrackingFrameInfo, 1)
float float float float std::array< float, 2 > std::array< float, 3 > && covTF
Definition Cluster.h:59
std::array< float, 3 > covarianceTrackingFrame
Definition Cluster.h:75
GPUhd() TrackingFrameInfo(float x