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

Seeding algorigthm that extracts the IP parameters and sorts the source links into possible track candidates. More...

#include <Acts/Seeding/PathSeeder.hpp>

Classes

struct  Config
 The nested configuration struct. More...

Public Types

using IntersectionLookup
 Delegate to find the intersections for the given pivot source link.
using PathSeed = std::pair<BoundTrackParameters, std::vector<SourceLink>>
 Type alias for path seed consisting of track parameters and source links.
using PathWidthLookup
 Delegate to provide the path width around the intersection point to pull the source links from the grid.
using TrackEstimator
 Delegate to estimate the IP parameters and the momentum direction at the reference tracking layer.

Public Member Functions

 PathSeeder (const Config &config)
 Constructor.
 ~PathSeeder ()=default
 Destructor.
template<Acts::detail::SourceLinkGrid grid_t, typename container_t>
void findSeeds (const GeometryContext &gctx, const std::unordered_map< GeometryIdentifier, grid_t > &sourceLinkGridLookup, container_t &seedCollection) const
 Extract the IP parameters and sort the source links into the seeds.

Detailed Description

Seeding algorigthm that extracts the IP parameters and sorts the source links into possible track candidates.

The algorithm to convert the given source links into seeds – pairs of IP parameters and the corresponding source links – as follows: First the source links are sorted into a user-defined grid. Then, iteration over the source links is performed. If a source link is attached to a surface that is in the reference tracking layer, as defined by the user, the IP parameters are estimated and the tracking layers are intersected to construct the core of the "Path". The source links in the subsequent layers are then added to the seed if they lie within the path width of the core. Both the list of source links and the IP parameters are stored in the seed struct.

Template Parameters
axis_tType of the axis to bin the source links
Note
The algorithm is designed to be used in the context of a telescope-style geometry. The surfaces are assumed to be planar.
Handling of the rotated surfaces has to happen in the user-defined delegate functions.

Member Typedef Documentation

◆ IntersectionLookup

Initial value:
Definition Delegate.hpp:29
This is the central definition of the Acts payload object regarding detector geometry status (e....
Definition GeometryContext.hpp:46
GenericBoundTrackParameters< ParticleHypothesis > BoundTrackParameters
BoundTrackParameters can hold any kind of charge.
Definition TrackParameters.hpp:34

Delegate to find the intersections for the given pivot source link.

  • The geometry context to use
  • Track parameters at the reference tracking layer
Returns
Vector of pairs of the geometry identifier and the local intersection point

◆ PathSeed

Type alias for path seed consisting of track parameters and source links.

◆ PathWidthLookup

Initial value:
Identifier for geometry nodes within the geometry hierarchy.
Definition GeometryIdentifier.hpp:31

Delegate to provide the path width around the intersection point to pull the source links from the grid.

  • The geometry context to use
  • The geometry identifier to use if the path width is varied across different tracking layers
Returns
The path width in the bin0 and bin1 direction defined with respect to the surface normal

◆ TrackEstimator

Initial value:

Delegate to estimate the IP parameters and the momentum direction at the reference tracking layer.

  • Geometry context to use
  • Pivot source link
Returns
Pair of the track parameters at the IP and the reference tracking layer

Constructor & Destructor Documentation

◆ PathSeeder()

Acts::PathSeeder::PathSeeder ( const Config & config)
explicit

Constructor.

Parameters
configConfiguration for the path seeder

◆ ~PathSeeder()

Acts::PathSeeder::~PathSeeder ( )
default

Destructor.

Member Function Documentation

◆ findSeeds()

template<Acts::detail::SourceLinkGrid grid_t, typename container_t>
void Acts::PathSeeder::findSeeds ( const GeometryContext & gctx,
const std::unordered_map< GeometryIdentifier, grid_t > & sourceLinkGridLookup,
container_t & seedCollection ) const

Extract the IP parameters and sort the source links into the seeds.

Parameters
gctxThe geometry context
sourceLinkGridLookupThe lookup table for the source links
seedCollectionThe collection of seeds to fill