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 acts_examples {
33 : m_geometry_id_(gid), m_index_(idx) {}
44 constexpr Index
index()
const {
return m_index_; }
46 Acts::GeometryIdentifier geometryId()
const {
return m_geometry_id_; }
49 Acts::GeometryIdentifier m_geometry_id_;
54 return (lhs.geometryId() == rhs.geometryId()) and
55 (lhs.m_index_ == rhs.m_index_);
59 return not(lhs == rhs);
67using IndexSourceLinkContainer =
68 acts_examples::GeometryIdMultiset<IndexSourceLink>;
75 using BaseIterator = GeometryIdMultisetAccessor<IndexSourceLink>::Iterator;
77 using Iterator = Acts::SourceLinkAdapterIterator<BaseIterator>;
80 std::pair<Iterator, Iterator> range(
const Acts::Surface& surface)
const {
81 assert(container_ !=
nullptr);
82 auto [begin, end] = container_->equal_range(surface.geometryId());
83 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.