ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::DoubletsForMiddleSp Class Reference

Container for doublets found by the doublet seed finder. More...

#include <Acts/Seeding2/DoubletSeedFinder.hpp>

Classes

struct  IndexAndCotTheta
class  Proxy
class  Proxy2
 Same as Proxy but also contains cotTheta. More...
class  Range
class  Subset
class  Subset2

Public Types

using const_iterator
 Type alias for const iterator over doublets in container.
using Index = std::uint32_t
 Type alias for index type used in doublets container.
using IndexAndCotThetaSubset = std::span<const IndexAndCotTheta>
 Type alias for subset of index and cotTheta pairs.
using IndexRange = std::pair<Index, Index>
 Type alias for range of indices in doublets container.
using IndexSubset = std::span<const Index>
 Type alias for subset of indices in doublets container.

Public Member Functions

const_iterator begin () const
 Get iterator to beginning of doublets container.
void clear ()
 Clear all stored doublets and associated data.
const std::vector< float > & cotTheta () const
 Get reference to cotTheta values container.
void emplace_back (SpacePointIndex2 sp, float cotTheta, float iDeltaR, float er, float u, float v, float x, float y)
 Add a new doublet with associated parameters.
bool empty () const
 Check if the doublets container is empty.
const_iterator end () const
 Get iterator to end of doublets container.
Proxy operator[] (Index index) const
 Access doublet by index.
Proxy2 operator[] (IndexAndCotTheta indexAndCotTheta) const
 Access doublet by index and cotTheta pair.
Range range () const noexcept
 Get range view of all doublets.
Range range (const IndexRange &range) const noexcept
 Get range view of doublets within specified index range.
Index size () const
 Get the number of doublets in container.
void sortByCotTheta (const IndexRange &range, std::vector< IndexAndCotTheta > &indexAndCotTheta) const
 Sort doublets by cotTheta within given range.
const std::vector< SpacePointIndex2 > & spacePoints () const
 Get reference to space point indices container.
Subset2 subset (const IndexAndCotThetaSubset &subset) const noexcept
 Create subset view from index and cotTheta subset.
Subset subset (const IndexSubset &subset) const noexcept
 Create subset view from index subset.

Detailed Description

Container for doublets found by the doublet seed finder.

This implementation uses partial AoS/SoA depending on the access pattern in the doublet finding process.

Member Typedef Documentation

◆ const_iterator

Initial value:
detail::ContainerIterator<DoubletsForMiddleSp, Proxy, Index, true>

Type alias for const iterator over doublets in container.

◆ Index

using Acts::DoubletsForMiddleSp::Index = std::uint32_t

Type alias for index type used in doublets container.

◆ IndexAndCotThetaSubset

Type alias for subset of index and cotTheta pairs.

◆ IndexRange

Type alias for range of indices in doublets container.

◆ IndexSubset

Type alias for subset of indices in doublets container.

Member Function Documentation

◆ begin()

const_iterator Acts::DoubletsForMiddleSp::begin ( ) const

Get iterator to beginning of doublets container.

Returns
Const iterator to first doublet

◆ clear()

void Acts::DoubletsForMiddleSp::clear ( )

Clear all stored doublets and associated data.

◆ cotTheta()

const std::vector< float > & Acts::DoubletsForMiddleSp::cotTheta ( ) const

Get reference to cotTheta values container.

Returns
Const reference to cotTheta values vector

◆ emplace_back()

void Acts::DoubletsForMiddleSp::emplace_back ( SpacePointIndex2 sp,
float cotTheta,
float iDeltaR,
float er,
float u,
float v,
float x,
float y )

Add a new doublet with associated parameters.

Parameters
spSpace point index for the doublet
cotThetaCotangent of polar angle
iDeltaRInverse delta R parameter
erError in R coordinate
uU coordinate parameter
vV coordinate parameter
xX coordinate
yY coordinate

◆ empty()

bool Acts::DoubletsForMiddleSp::empty ( ) const
nodiscard

Check if the doublets container is empty.

Returns
True if container has no doublets

◆ end()

const_iterator Acts::DoubletsForMiddleSp::end ( ) const

Get iterator to end of doublets container.

Returns
Const iterator past the last doublet

◆ operator[]() [1/2]

Proxy Acts::DoubletsForMiddleSp::operator[] ( Index index) const

Access doublet by index.

Parameters
indexIndex of the doublet to access
Returns
Proxy object for the doublet

◆ operator[]() [2/2]

Proxy2 Acts::DoubletsForMiddleSp::operator[] ( IndexAndCotTheta indexAndCotTheta) const

Access doublet by index and cotTheta pair.

Parameters
indexAndCotThetaIndex and cotTheta pair for the doublet
Returns
Proxy2 object for the doublet with precomputed cotTheta

◆ range() [1/2]

Range Acts::DoubletsForMiddleSp::range ( ) const
noexcept

Get range view of all doublets.

Returns
Range object covering all doublets

◆ range() [2/2]

Range Acts::DoubletsForMiddleSp::range ( const IndexRange & range) const
noexcept

Get range view of doublets within specified index range.

Parameters
rangeIndex range to create view for
Returns
Range object covering specified doublets

◆ size()

Index Acts::DoubletsForMiddleSp::size ( ) const
nodiscard

Get the number of doublets in container.

Returns
Number of doublets stored

◆ sortByCotTheta()

void Acts::DoubletsForMiddleSp::sortByCotTheta ( const IndexRange & range,
std::vector< IndexAndCotTheta > & indexAndCotTheta ) const

Sort doublets by cotTheta within given range.

Parameters
rangeIndex range to sort within
indexAndCotThetaOutput vector containing sorted index and cotTheta pairs

◆ spacePoints()

const std::vector< SpacePointIndex2 > & Acts::DoubletsForMiddleSp::spacePoints ( ) const

Get reference to space point indices container.

Returns
Const reference to space point indices vector

◆ subset() [1/2]

Subset2 Acts::DoubletsForMiddleSp::subset ( const IndexAndCotThetaSubset & subset) const
noexcept

Create subset view from index and cotTheta subset.

Parameters
subsetSpan of index and cotTheta pairs to include
Returns
Subset2 object with precomputed cotTheta values

◆ subset() [2/2]

Subset Acts::DoubletsForMiddleSp::subset ( const IndexSubset & subset) const
noexcept

Create subset view from index subset.

Parameters
subsetSpan of indices to include in subset
Returns
Subset object for the specified indices