Project
Loading...
Searching...
No Matches
TrackingKernelParameters.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_DETAIL_TRACKINGKERNELPARAMETERS_H_
13#define ALICEO2_ITSMFT_TRACKING_DETAIL_TRACKINGKERNELPARAMETERS_H_
14
15#include <cstddef>
16#include <cstdint>
17#include <type_traits>
18
19#include "GPUCommonDef.h"
20#include "GPUCommonMath.h"
21
23{
24
29 float trackletMinPt{0.3f};
30 float nSigmaCut{5.f};
32 float maxChi2NDF{30.f};
33 float pvResolution{1.e-2f};
34
35 GPUhdi() bool isValid() const noexcept
36 {
37 if (!o2::gpu::GPUCommonMath::Finite(trackletMinPt) || trackletMinPt <= 0.f ||
38 !o2::gpu::GPUCommonMath::Finite(nSigmaCut) || nSigmaCut <= 0.f ||
39 !o2::gpu::GPUCommonMath::Finite(maxChi2ClusterAttachment) || maxChi2ClusterAttachment <= 0.f ||
40 !o2::gpu::GPUCommonMath::Finite(maxChi2NDF) || maxChi2NDF <= 0.f) {
41 return false;
42 }
43 return o2::gpu::GPUCommonMath::Finite(pvResolution) && pvResolution >= 0.f;
44 }
45};
46
47static_assert(std::is_standard_layout_v<TrackingKernelParameters>);
48static_assert(std::is_trivially_copyable_v<TrackingKernelParameters>);
49static_assert(sizeof(TrackingKernelParameters) == 20);
50static_assert(alignof(TrackingKernelParameters) == alignof(float));
51static_assert(offsetof(TrackingKernelParameters, trackletMinPt) == 0);
52static_assert(offsetof(TrackingKernelParameters, nSigmaCut) == 4);
53static_assert(offsetof(TrackingKernelParameters, maxChi2ClusterAttachment) == 8);
54static_assert(offsetof(TrackingKernelParameters, maxChi2NDF) == 12);
55static_assert(offsetof(TrackingKernelParameters, pvResolution) == 16);
56
57} // namespace o2::itsmft::tracking
58
59#endif /* ALICEO2_ITSMFT_TRACKING_DETAIL_TRACKINGKERNELPARAMETERS_H_ */
uint32_t trackClusterIndicesSize noexcept
bool isValid(std::string alias)