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