13#include "Acts/EventData/SourceLink.hpp"
14#include "Acts/Surfaces/Surface.hpp"
15#include "Tracking/Sim/GeometryContainers.h"
16#include "Tracking/Sim/Index.h"
18namespace ActsExamples {
33 : m_geometryId(gid), m_index(idx) {}
44 constexpr Index
index()
const {
return m_index; }
46 Acts::GeometryIdentifier geometryId()
const {
return m_geometryId; }
49 Acts::GeometryIdentifier m_geometryId;
54 return (lhs.geometryId() == rhs.geometryId()) and
55 (lhs.m_index == rhs.m_index);
59 return not(lhs == rhs);
67using IndexSourceLinkContainer = GeometryIdMultiset<IndexSourceLink>;
73 using BaseIterator = GeometryIdMultisetAccessor<IndexSourceLink>::Iterator;
75 using Iterator = Acts::SourceLinkAdapterIterator<BaseIterator>;
78 std::pair<Iterator, Iterator> range(
const Acts::Surface& surface)
const {
79 assert(container !=
nullptr);
80 auto [begin, end] = container->equal_range(surface.geometryId());
81 return {Iterator{begin}, Iterator{end}};
A source link that stores just an index.
IndexSourceLink()=default
satisfy SourceLinkConcept.
constexpr IndexSourceLink(Acts::GeometryIdentifier gid, Index idx)
Construct from geometry identifier and index.
constexpr Index index() const
Access the index.
The accessor for the GeometryIdMultiset container.
Accessor for the above source link container.