ATLAS Offline Software
TrackFindingMeasurements.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_TRACKFINDINGMEASUREMENTS_H
6 #define ACTSTRACKRECONSTRUCTION_TRACKFINDINGMEASUREMENTS_H
7 
8 #include <vector>
9 
10 #include "ActsEvent/Seed.h"
13 
14 namespace ActsTrk {
15 struct DetectorElementToActsGeometryIdMap;
16 }
17 
18 namespace ActsTrk::detail {
19 
20  // Helper class to convert and store MeasurementContainer specializations to MeasurementRangeList
22  public:
23  TrackFindingMeasurements(std::size_t nMeasurementContainerMax);
29 
30  void addMeasurements(std::size_t typeIndex,
31  const xAOD::UncalibratedMeasurementContainer &clusterContainer,
32  const DetectorElementToActsGeometryIdMap &detectorElementToGeoid,
33  const MeasurementIndex *measurementIndex = nullptr);
35  const MeasurementIndex &measurementIndex) const;
37 
39  inline std::size_t nMeasurements() const;
40  inline const std::vector<std::size_t> &measurementOffsets() const;
41  inline const xAOD::UncalibratedMeasurementContainer *container(std::size_t typeIndex) const;
42 
43  private:
45  Acts::GeometryIdentifier measurementSurfaceId;
46  unsigned int typeIndex;
47  unsigned int sl_idx;
48  };
49 
50  template <typename MeasurementRangeList_t>
51  static MeasurementRange *addMeasurementToRange(MeasurementRangeList_t &measurementRanges,
52  unsigned int typeIndex,
53  unsigned int sl_idx,
54  unsigned int sl_idx_end,
55  const xAOD::UncalibratedMeasurement *measurement,
56  Acts::GeometryIdentifier measurementSurfaceId);
57 
58  std::vector<std::size_t> m_measurementOffsets;
59  // ActsTrk::detail::MeasurementRangeList is an std::unordered_map;
61  std::vector<const xAOD::UncalibratedMeasurementContainer *> m_containers{};
62  std::vector<MeasurementSurfaceIndex> m_surfaceIndices;
63 
64  std::size_t m_measurementsTotal{0ul};
65  };
66 
67 } // namespace ActsTrk::detail
68 
70 
71 #endif
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::setMeasurementRangesForced
MeasurementRangeListFlat setMeasurementRangesForced(const ActsTrk::Seed &seed, const MeasurementIndex &measurementIndex) const
Definition: TrackFindingMeasurements.cxx:121
ActsTrk::detail::TrackFindingMeasurements
Definition: TrackFindingMeasurements.h:21
ActsTrk::DetectorElementToActsGeometryIdMap
Definition: DetectorElementToActsGeometryIdMap.h:31
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:78
ActsTrk::detail::TrackFindingMeasurements::TrackFindingMeasurements
TrackFindingMeasurements(std::size_t nMeasurementContainerMax)
Definition: TrackFindingMeasurements.cxx:12
ActsTrk::detail::TrackFindingMeasurements::nMeasurements
std::size_t nMeasurements() const
ActsTrk::detail::TrackFindingMeasurements::MeasurementSurfaceIndex::sl_idx
unsigned int sl_idx
Definition: TrackFindingMeasurements.h:47
AtlasUncalibSourceLinkAccessor.h
ActsTrk::detail::TrackFindingMeasurements::MeasurementSurfaceIndex::measurementSurfaceId
Acts::GeometryIdentifier measurementSurfaceId
Definition: TrackFindingMeasurements.h:45
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
ActsTrk::detail::MeasurementRange
Definition: AtlasUncalibSourceLinkAccessor.h:24
ActsTrk::detail::GenMeasurementRangeList< AtlasMeasurementContainerList >
xAOD::identifier
identifier
Definition: UncalibratedMeasurement_v1.cxx:15
ActsTrk::detail::TrackFindingMeasurements::m_measurementRanges
MeasurementRangeList m_measurementRanges
Definition: TrackFindingMeasurements.h:60
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
ActsTrk::detail::MeasurementIndex
Definition: MeasurementIndex.h:16
ActsTrk::detail::TrackFindingMeasurements::operator=
TrackFindingMeasurements & operator=(const TrackFindingMeasurements &)=default
MeasurementIndex.h
ActsTrk::detail::TrackFindingMeasurements::TrackFindingMeasurements
TrackFindingMeasurements(const TrackFindingMeasurements &)=default
xAOD::UncalibratedMeasurement_v1
Definition: UncalibratedMeasurement_v1.h:13
Acts
Definition: MuonSpectrometer/MuonPhaseII/Event/xAOD/xAODMuonPrepData/xAODMuonPrepData/UtilFunctions.h:17
TrackFindingMeasurements.icc
vector
Definition: MultiHisto.h:13
detail::ul
unsigned long ul
Definition: PrimitiveHelpers.h:46
ActsTrk::detail::TrackFindingMeasurements::m_measurementsTotal
std::size_t m_measurementsTotal
Definition: TrackFindingMeasurements.h:64
ActsTrk::detail::TrackFindingMeasurements::TrackFindingMeasurements
TrackFindingMeasurements(TrackFindingMeasurements &&) noexcept=default
ActsTrk::detail::GenMeasurementRangeListFlat
Definition: AtlasUncalibSourceLinkAccessor.h:111
Seed.h
xAOD::UncalibratedMeasurementContainer
UncalibratedMeasurementContainer_v1 UncalibratedMeasurementContainer
Define the version of the uncalibrated measurement container.
Definition: UncalibratedMeasurementContainer.h:14
ActsTrk::ActsSeed
Definition: Seed.h:18
ActsTrk::detail::TrackFindingMeasurements::measurementRanges
const MeasurementRangeList & measurementRanges() const
ActsTrk::detail::TrackFindingMeasurements::m_measurementOffsets
std::vector< std::size_t > m_measurementOffsets
Definition: TrackFindingMeasurements.h:58
python.CaloAddPedShiftConfig.default
default
Definition: CaloAddPedShiftConfig.py:43
ActsTrk::detail::TrackFindingMeasurements::MeasurementSurfaceIndex::typeIndex
unsigned int typeIndex
Definition: TrackFindingMeasurements.h:46
ActsTrk::detail::TrackFindingMeasurements::measurementOffsets
const std::vector< std::size_t > & measurementOffsets() const
private
#define private
Definition: xAODTruthCnvAlg.h:20
ActsTrk::detail::TrackFindingMeasurements::markSurfaceInsensitive
MeasurementRange markSurfaceInsensitive(const Acts::GeometryIdentifier &identifier)
Definition: TrackFindingMeasurements.cxx:110
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition: MSTrackingVolumeBuilder.cxx:25
ActsTrk::detail
Athena definition of the Eigen plugin.
Definition: MeasurementCalibratorBase.h:19
ActsTrk::detail::TrackFindingMeasurements::MeasurementSurfaceIndex
Definition: TrackFindingMeasurements.h:44
ActsTrk::detail::TrackFindingMeasurements::m_containers
std::vector< const xAOD::UncalibratedMeasurementContainer * > m_containers
Definition: TrackFindingMeasurements.h:61
ActsTrk::detail::TrackFindingMeasurements::m_surfaceIndices
std::vector< MeasurementSurfaceIndex > m_surfaceIndices
Definition: TrackFindingMeasurements.h:62
ActsTrk::detail::TrackFindingMeasurements::container
const xAOD::UncalibratedMeasurementContainer * container(std::size_t typeIndex) const