ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
Acts
ActsTrackReconstruction
src
detail
TrackFindingMeasurements.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef ACTSTRACKRECONSTRUCTION_TRACKFINDINGMEASUREMENTS_H
6
#define ACTSTRACKRECONSTRUCTION_TRACKFINDINGMEASUREMENTS_H
7
8
9
10
#include "
ActsEvent/SeedContainer.h
"
11
#include "
src/detail/AtlasUncalibSourceLinkAccessor.h
"
12
#include "
src/detail/MeasurementIndex.h
"
13
#include <vector>
14
15
namespace
ActsTrk
{
16
struct
DetectorElementToActsGeometryIdMap
;
17
}
18
19
namespace
ActsTrk::detail
{
20
21
// Helper class to convert and store MeasurementContainer specializations to MeasurementRangeList
22
class
TrackFindingMeasurements
{
23
public
:
24
TrackFindingMeasurements
(std::size_t nMeasurementContainerMax);
25
TrackFindingMeasurements
(
const
TrackFindingMeasurements
&) =
default
;
26
TrackFindingMeasurements
&
operator=
(
const
TrackFindingMeasurements
&) =
default
;
27
TrackFindingMeasurements
(
TrackFindingMeasurements
&&) noexcept = default;
28
TrackFindingMeasurements
&operator=(
TrackFindingMeasurements
&&) noexcept = default;
29
~
TrackFindingMeasurements
() = default;
30
31
void
addMeasurements
(
std
::
size_t
typeIndex,
32
const
xAOD
::UncalibratedMeasurementContainer &clusterContainer,
33
const
DetectorElementToActsGeometryIdMap
&detectorElementToGeoid,
34
const
MeasurementIndex
*measurementIndex =
nullptr
);
35
std
::
unique_ptr
<
MeasurementRangeListFlat
>
createMeasurementRangesForced
(
const
ActsTrk
::
Seed
&seed,
36
const
MeasurementIndex
&measurementIndex)
const
;
37
MeasurementRange
markSurfaceInsensitive
(
const
Acts
::GeometryIdentifier &identifier);
38
39
inline
const
MeasurementRangeList
&
measurementRanges
()
const
;
40
inline
std
::
size_t
nMeasurements
()
const
;
41
inline
const
std
::
vector
<
std
::
size_t
> &
measurementOffsets
()
const
;
42
inline
const
xAOD
::UncalibratedMeasurementContainer *
container
(
std
::
size_t
typeIndex)
const
;
43
44
private
:
45
struct
MeasurementSurfaceIndex
{
46
Acts::GeometryIdentifier
measurementSurfaceId
;
47
unsigned
int
typeIndex
{};
48
unsigned
int
sl_idx
{};
49
};
50
51
template
<
typename
MeasurementRangeList_t>
52
static
MeasurementRange
*
addMeasurementToRange
(MeasurementRangeList_t &
measurementRanges
,
53
unsigned
int
typeIndex,
54
unsigned
int
sl_idx,
55
unsigned
int
sl_idx_end,
56
const
xAOD::UncalibratedMeasurement
*measurement,
57
Acts::GeometryIdentifier measurementSurfaceId);
58
59
std::vector<std::size_t>
m_measurementOffsets
;
60
// ActsTrk::detail::MeasurementRangeList is an std::unordered_map;
61
MeasurementRangeList
m_measurementRanges
{};
62
std::vector<const xAOD::UncalibratedMeasurementContainer *>
m_containers
{};
63
std::vector<MeasurementSurfaceIndex>
m_surfaceIndices
;
64
65
std::size_t
m_measurementsTotal
{0ul};
66
};
67
68
}
// namespace ActsTrk::detail
69
70
#include "
src/detail/TrackFindingMeasurements.icc
"
71
72
#endif
AtlasUncalibSourceLinkAccessor.h
MeasurementIndex.h
SeedContainer.h
TrackFindingMeasurements.icc
ActsTrk::detail::MeasurementIndex
Definition
MeasurementIndex.h:16
ActsTrk::detail::TrackFindingMeasurements::m_containers
std::vector< const xAOD::UncalibratedMeasurementContainer * > m_containers
Definition
TrackFindingMeasurements.h:62
ActsTrk::detail::TrackFindingMeasurements::measurementOffsets
const std::vector< std::size_t > & measurementOffsets() const
ActsTrk::detail::TrackFindingMeasurements::container
const xAOD::UncalibratedMeasurementContainer * container(std::size_t typeIndex) const
ActsTrk::detail::TrackFindingMeasurements::m_surfaceIndices
std::vector< MeasurementSurfaceIndex > m_surfaceIndices
Definition
TrackFindingMeasurements.h:63
ActsTrk::detail::TrackFindingMeasurements::m_measurementOffsets
std::vector< std::size_t > m_measurementOffsets
Definition
TrackFindingMeasurements.h:59
ActsTrk::detail::TrackFindingMeasurements::createMeasurementRangesForced
std::unique_ptr< MeasurementRangeListFlat > createMeasurementRangesForced(const ActsTrk::Seed &seed, const MeasurementIndex &measurementIndex) const
Definition
TrackFindingMeasurements.cxx:119
ActsTrk::detail::TrackFindingMeasurements::m_measurementRanges
MeasurementRangeList m_measurementRanges
Definition
TrackFindingMeasurements.h:61
ActsTrk::detail::TrackFindingMeasurements::m_measurementsTotal
std::size_t m_measurementsTotal
Definition
TrackFindingMeasurements.h:65
ActsTrk::detail::TrackFindingMeasurements::addMeasurements
void addMeasurements(std::size_t typeIndex, const xAOD::UncalibratedMeasurementContainer &clusterContainer, const DetectorElementToActsGeometryIdMap &detectorElementToGeoid, const MeasurementIndex *measurementIndex=nullptr)
Definition
TrackFindingMeasurements.cxx:17
ActsTrk::detail::TrackFindingMeasurements::operator=
TrackFindingMeasurements & operator=(const TrackFindingMeasurements &)=default
ActsTrk::detail::TrackFindingMeasurements::measurementRanges
const MeasurementRangeList & measurementRanges() const
ActsTrk::detail::TrackFindingMeasurements::TrackFindingMeasurements
TrackFindingMeasurements(TrackFindingMeasurements &&) noexcept=default
ActsTrk::detail::TrackFindingMeasurements::addMeasurementToRange
static MeasurementRange * addMeasurementToRange(MeasurementRangeList_t &measurementRanges, unsigned int typeIndex, unsigned int sl_idx, unsigned int sl_idx_end, const xAOD::UncalibratedMeasurement *measurement, Acts::GeometryIdentifier measurementSurfaceId)
Definition
TrackFindingMeasurements.cxx:76
ActsTrk::detail::TrackFindingMeasurements::markSurfaceInsensitive
MeasurementRange markSurfaceInsensitive(const Acts::GeometryIdentifier &identifier)
Definition
TrackFindingMeasurements.cxx:108
ActsTrk::detail::TrackFindingMeasurements::nMeasurements
std::size_t nMeasurements() const
ActsTrk::detail::TrackFindingMeasurements::TrackFindingMeasurements
TrackFindingMeasurements(const TrackFindingMeasurements &)=default
ActsTrk::detail::TrackFindingMeasurements::TrackFindingMeasurements
TrackFindingMeasurements(std::size_t nMeasurementContainerMax)
Definition
TrackFindingMeasurements.cxx:12
unique_ptr
STL class.
vector
Definition
MultiHisto.h:13
const
ActsTrk::detail
Hash functions to pack the source link into unordered_maps / unordered_sets.
Definition
MeasurementCalibratorBase.h:31
ActsTrk::detail::MeasurementRangeListFlat
GenMeasurementRangeListFlat< AtlasMeasurementContainerList > MeasurementRangeListFlat
Definition
AtlasUncalibSourceLinkAccessor.h:256
ActsTrk::detail::MeasurementRangeList
GenMeasurementRangeList< AtlasMeasurementContainerList > MeasurementRangeList
Definition
AtlasUncalibSourceLinkAccessor.h:255
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition
MdtCalibInput.h:31
Acts
This class is not to needed in AthSimulation.
Definition
MuonSpectrometer/MuonPhaseII/Event/xAOD/xAODMuonPrepData/xAODMuonPrepData/UtilFunctions.h:23
std
STL namespace.
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition
ICaloAffectedTool.h:24
xAOD::UncalibratedMeasurement
UncalibratedMeasurement_v1 UncalibratedMeasurement
Define the version of the uncalibrated measurement class.
Definition
UncalibratedMeasurementFwd.h:13
ActsTrk::DetectorElementToActsGeometryIdMap
Definition
DetectorElementToActsGeometryIdMap.h:24
ActsTrk::Seed
Definition
SeedContainer.h:43
ActsTrk::detail::MeasurementRange
Definition
AtlasUncalibSourceLinkAccessor.h:26
ActsTrk::detail::TrackFindingMeasurements::MeasurementSurfaceIndex
Definition
TrackFindingMeasurements.h:45
ActsTrk::detail::TrackFindingMeasurements::MeasurementSurfaceIndex::measurementSurfaceId
Acts::GeometryIdentifier measurementSurfaceId
Definition
TrackFindingMeasurements.h:46
ActsTrk::detail::TrackFindingMeasurements::MeasurementSurfaceIndex::typeIndex
unsigned int typeIndex
Definition
TrackFindingMeasurements.h:47
ActsTrk::detail::TrackFindingMeasurements::MeasurementSurfaceIndex::sl_idx
unsigned int sl_idx
Definition
TrackFindingMeasurements.h:48
private
#define private
Definition
testRead.cxx:27
Generated on
for ATLAS Offline Software by
1.17.0