Project
Loading...
Searching...
No Matches
MCLabelAccumulator.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
14
15
#ifndef O2_GPU_MC_LABEL_ACCUMULATOR_H
16
#define O2_GPU_MC_LABEL_ACCUMULATOR_H
17
18
#include "
clusterFinderDefs.h
"
19
#include "
Array2D.h
"
20
#include <bitset>
21
#include <vector>
22
23
namespace
o2
24
{
25
class
MCCompLabel;
26
namespace
dataformats
27
{
28
class
MCCompLabel;
29
template
<
typename
T>
30
class
ConstMCTruthContainerView;
31
using
ConstMCLabelContainerView
=
o2::dataformats::ConstMCTruthContainerView<o2::MCCompLabel>
;
32
}
// namespace dataformats
33
}
// namespace o2
34
35
namespace
o2::gpu
36
{
37
38
class
GPUTPCClusterFinder;
39
struct
GPUTPCClusterMCInterimArray;
40
41
class
MCLabelAccumulator
42
{
43
44
public
:
45
MCLabelAccumulator
(
GPUTPCClusterFinder
&);
46
47
void
collect
(
const
ChargePos
&,
tpccf::Charge
);
48
49
bool
engaged
()
const
{
return
mLabels !=
nullptr
&& mOutput !=
nullptr
; }
50
51
void
commit
(
tpccf::Row
, uint32_t, uint32_t);
52
53
private
:
54
Array2D<const uint32_t>
mIndexMap;
55
const
o2::dataformats::ConstMCLabelContainerView
* mLabels =
nullptr
;
56
GPUTPCClusterMCInterimArray
* mOutput =
nullptr
;
57
58
std::bitset<64> mMaybeHasLabel;
59
std::vector<o2::MCCompLabel> mClusterLabels;
60
};
61
62
}
// namespace o2::gpu
63
64
#endif
Array2D.h
o2::dataformats::ConstMCTruthContainerView
Definition
ConstMCTruthContainer.h:133
o2::gpu::AbstractArray2D
Definition
Array2D.h:26
o2::gpu::GPUTPCClusterFinder
Definition
GPUTPCClusterFinder.h:54
o2::gpu::MCLabelAccumulator
Definition
MCLabelAccumulator.h:42
o2::gpu::MCLabelAccumulator::engaged
bool engaged() const
Definition
MCLabelAccumulator.h:49
o2::gpu::MCLabelAccumulator::collect
void collect(const ChargePos &, tpccf::Charge)
Definition
MCLabelAccumulator.cxx:29
clusterFinderDefs.h
commit
GLintptr GLsizeiptr GLboolean commit
Definition
glcorearb.h:3613
o2::dataformats::ConstMCLabelContainerView
o2::dataformats::ConstMCTruthContainerView< o2::MCCompLabel > ConstMCLabelContainerView
Definition
ConstMCTruthContainer.h:214
o2::gpu::tpccf::Charge
float Charge
Definition
clusterFinderDefs.h:68
o2::gpu::tpccf::Row
uint8_t Row
Definition
clusterFinderDefs.h:65
o2::gpu
Definition
TrackTRD.h:35
o2
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
Definition
BitstreamReader.h:24
o2::gpu::ChargePos
Definition
ChargePos.h:25
o2::gpu::GPUTPCClusterMCInterimArray
Definition
GPUHostDataTypes.h:46
GPU
GPUTracking
TPCClusterFinder
MCLabelAccumulator.h
Generated on Tue Feb 25 2025 17:03:27 for Project by
1.9.8