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
25class IndexTableUtils;
26
27struct Cluster final {
28 GPUhdDefault() Cluster() = default;
29 GPUhd() Cluster(const float x, const float y, const float z, const int idx);
30 GPUhd() Cluster(const int, const IndexTableUtils& utils, const Cluster&);
31 GPUhd() Cluster(const int, const float3&, const IndexTableUtils& utils, const Cluster&);
32 GPUhdDefault() Cluster(const Cluster&) = default;
33 GPUhdDefault() Cluster(Cluster&&) noexcept = default;
34 GPUhdDefault() ~Cluster() = default;
35
36 GPUhdDefault() Cluster& operator=(const Cluster&) = default;
37 GPUhdDefault() Cluster& operator=(Cluster&&) noexcept = default;
38
39 // TODO
40 /*GPUhdDefault() bool operator==(const Cluster&) const = default;*/
41 GPUhd() bool operator==(const Cluster& other) const
42 {
43 return xCoordinate == other.xCoordinate &&
44 yCoordinate == other.yCoordinate &&
45 zCoordinate == other.zCoordinate &&
46 phi == other.phi &&
47 radius == other.radius &&
48 clusterId == other.clusterId &&
49 indexTableBinIndex == other.indexTableBinIndex;
50 }
51
52 GPUhd() void print() const;
53
54 float xCoordinate{-999.f};
55 float yCoordinate{-999.f};
56 float zCoordinate{-999.f};
57 float phi{-999.f};
58 float radius{-999.f};
59 int clusterId{-1};
61
63};
64
65struct TrackingFrameInfo final {
67 GPUhd() TrackingFrameInfo(float x, float y, float z, float xTF, float alpha, std::array<float, 2>&& posTF, std::array<float, 3>&& covTF);
71
72 GPUhdDefault() TrackingFrameInfo& operator=(const TrackingFrameInfo&) = default;
74
75 GPUhd() void print() const;
76
77 float xCoordinate{-999.f};
78 float yCoordinate{-999.f};
79 float zCoordinate{-999.f};
80 float xTrackingFrame{-999.f};
81 float alphaTrackingFrame{-999.f};
82 std::array<float, 2> positionTrackingFrame = {-1., -1.};
83 std::array<float, 3> covarianceTrackingFrame = {999., 999., 999.};
84
86};
87
88} // namespace o2::its
89
90#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
typedef void(APIENTRYP PFNGLCULLFACEPROC)(GLenum mode)
GLdouble GLdouble GLdouble z
Definition glcorearb.h:843
Defining DataPointCompositeObject explicitly as copiable.
Common utility functions.
float yCoordinate
Definition Cluster.h:55
GPUhdDefault() Cluster()=default
float zCoordinate
Definition Cluster.h:56
ClassDefNV(Cluster, 1)
const float const float const int idx
Definition Cluster.h:29
int indexTableBinIndex
Definition Cluster.h:60
GPUhd() Cluster(const float x
float xCoordinate
Definition Cluster.h:54
float float float float std::array< float, 2 > && posTF
Definition Cluster.h:67
float float float xTF
Definition Cluster.h:67
GPUhdDefault() TrackingFrameInfo()=default
std::array< float, 2 > positionTrackingFrame
Definition Cluster.h:82
ClassDefNV(TrackingFrameInfo, 1)
float float float float std::array< float, 2 > std::array< float, 3 > && covTF
Definition Cluster.h:67
std::array< float, 3 > covarianceTrackingFrame
Definition Cluster.h:83
GPUhd() TrackingFrameInfo(float x
VectorOfTObjectPtrs other