ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
Acts
ActsTrackReconstruction
src
detail
SharedHitCounter.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef ACTSTRACKRECONSTRUCTION_SHAREDHITCOUNTER_H
6
#define ACTSTRACKRECONSTRUCTION_SHAREDHITCOUNTER_H
7
8
#include "
src/detail/MeasurementIndex.h
"
9
10
#include "Acts/EventData/TrackContainerFrontendConcept.hpp"
11
12
#include <utility>
13
#include <vector>
14
15
16
namespace
ActsTrk::detail
{
17
18
// Helper class to keep track of measurement indices, used for shared hits and debug printing
19
class
SharedHitCounter
{
20
public
:
21
SharedHitCounter
() =
default
;
22
SharedHitCounter
(
const
SharedHitCounter
&) =
default
;
23
SharedHitCounter
&
operator=
(
const
SharedHitCounter
&) =
default
;
24
SharedHitCounter
(
SharedHitCounter
&&) noexcept = default;
25
SharedHitCounter
&operator=(
SharedHitCounter
&&) noexcept = default;
26
~
SharedHitCounter
() = default;
27
28
using
ReturnSharedAndBad
=
std
::
pair
<
std
::
size_t
,
std
::
size_t
>;
29
30
template <
Acts
::TrackContainerFrontend track_container_t>
31
inline auto
computeSharedHitsDynamic
(typename track_container_t::TrackProxy &track,
32
track_container_t &tracks,
33
MeasurementIndex
&measurementIndex,
34
bool
removeSharedHits = false)
35
->
ReturnSharedAndBad
;
36
37
template <
Acts
::TrackContainerFrontend track_container_t>
38
inline auto
computeSharedHits
(typename track_container_t::TrackProxy &track,
39
track_container_t &tracks,
40
const
MeasurementIndex
&measurementIndex,
41
bool
removeSharedHits = false)
42
->
ReturnSharedAndBad
;
43
44
template <
Acts
::TrackContainerFrontend track_container_t, typename IndexFun>
45
inline auto
computeSharedHits
(typename track_container_t::TrackProxy &track,
46
track_container_t &tracks,
47
std
::
size_t
indexSize,
48
IndexFun &&indexFun,
49
bool
removeSharedHits = false)
50
->
ReturnSharedAndBad
;
51
52
private
:
53
struct
TrackStateIndex
{
54
std::size_t
trackIndex
;
55
std::size_t
stateIndex
;
56
};
57
static
constexpr
TrackStateIndex
s_noTrackState
{std::numeric_limits<std::size_t>::max(), std::numeric_limits<std::size_t>::max()};
58
std::vector<TrackStateIndex>
m_firstTrackStateOnTheHit
;
59
};
60
61
}
// namespace ActsTrk::detail
62
63
#include "
src/detail/SharedHitCounter.icc
"
64
65
#endif
MeasurementIndex.h
SharedHitCounter.icc
ActsTrk::detail::MeasurementIndex
Definition
MeasurementIndex.h:16
ActsTrk::detail::SharedHitCounter::SharedHitCounter
SharedHitCounter()=default
ActsTrk::detail::SharedHitCounter::computeSharedHits
auto computeSharedHits(typename track_container_t::TrackProxy &track, track_container_t &tracks, const MeasurementIndex &measurementIndex, bool removeSharedHits=false) -> ReturnSharedAndBad
ActsTrk::detail::SharedHitCounter::computeSharedHitsDynamic
auto computeSharedHitsDynamic(typename track_container_t::TrackProxy &track, track_container_t &tracks, MeasurementIndex &measurementIndex, bool removeSharedHits=false) -> ReturnSharedAndBad
ActsTrk::detail::SharedHitCounter::s_noTrackState
static constexpr TrackStateIndex s_noTrackState
Definition
SharedHitCounter.h:57
ActsTrk::detail::SharedHitCounter::ReturnSharedAndBad
std::pair< std::size_t, std::size_t > ReturnSharedAndBad
Definition
SharedHitCounter.h:28
ActsTrk::detail::SharedHitCounter::m_firstTrackStateOnTheHit
std::vector< TrackStateIndex > m_firstTrackStateOnTheHit
Definition
SharedHitCounter.h:58
ActsTrk::detail::SharedHitCounter::SharedHitCounter
SharedHitCounter(SharedHitCounter &&) noexcept=default
ActsTrk::detail::SharedHitCounter::SharedHitCounter
SharedHitCounter(const SharedHitCounter &)=default
ActsTrk::detail::SharedHitCounter::operator=
SharedHitCounter & operator=(const SharedHitCounter &)=default
pair
STL class.
const
ActsTrk::detail
Hash functions to pack the source link into unordered_maps / unordered_sets.
Definition
MeasurementCalibratorBase.h:31
Acts
This class is not to needed in AthSimulation.
Definition
MuonSpectrometer/MuonPhaseII/Event/xAOD/xAODMuonPrepData/xAODMuonPrepData/UtilFunctions.h:23
std
STL namespace.
ActsTrk::detail::SharedHitCounter::TrackStateIndex
Definition
SharedHitCounter.h:53
ActsTrk::detail::SharedHitCounter::TrackStateIndex::trackIndex
std::size_t trackIndex
Definition
SharedHitCounter.h:54
ActsTrk::detail::SharedHitCounter::TrackStateIndex::stateIndex
std::size_t stateIndex
Definition
SharedHitCounter.h:55
private
#define private
Definition
testRead.cxx:27
Generated on
for ATLAS Offline Software by
1.17.0