Project
Loading...
Searching...
No Matches
GlobalMeasurement.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.
11
12#ifndef ALICEO2_ITSMFT_TRACKING_GLOBALMEASUREMENT_H_
13#define ALICEO2_ITSMFT_TRACKING_GLOBALMEASUREMENT_H_
14
15#include <cstddef>
16#include <cstdint>
17#include <limits>
18#include <type_traits>
19
20#include "GPUCommonDef.h"
22
24{
25
27 float x;
28 float y;
29 float z;
30};
31
33 float xx{0.f};
34 float xy{0.f};
35 float xz{0.f};
36 float yy{0.f};
37 float yz{0.f};
38 float zz{0.f};
39
40 GPUhdi() float& operator[](std::size_t index) noexcept { return (&xx)[index]; }
41 GPUhdi() const float& operator[](std::size_t index) const noexcept { return (&xx)[index]; }
42};
43
45 enum CovarianceIndex : uint8_t {
51 ZZ
52 };
53
54 union {
55 struct {
56 float x;
57 float y;
58 float z;
59 };
61 };
63 float radius{0.f};
64 float phi{0.f};
65 uint32_t clusterId{std::numeric_limits<uint32_t>::max()};
66
67 GPUhdi() bool hasValidClusterId() const noexcept { return clusterId != std::numeric_limits<uint32_t>::max(); }
68};
69
70} // namespace o2::itsmft::tracking
71
72#endif // ALICEO2_ITSMFT_TRACKING_GLOBALMEASUREMENT_H_
GLuint index
Definition glcorearb.h:781
uint32_t trackClusterIndicesSize noexcept
GPUhdi() const expr bool isRecognizedSurfaceKind(SurfaceKind kind) noexcept
Definition IdTypes.h:65
GPUhdi() bool hasValidClusterId() const noexcept