ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::TripletSeedFinder Class Referenceabstract

Interface and a collection of standard implementations for a triplet seed finder. More...

#include <Acts/Seeding/TripletSeedFinder.hpp>

Classes

struct  Config
 Collection of configuration parameters for the triplet seed finder. More...
struct  DerivedConfig
 Derived configuration for the triplet seed finder using a magnetic field. More...

Public Member Functions

virtual const DerivedConfigconfig () const =0
 Returns the configuration of the triplet seed finder.
virtual DoubletsForMiddleSp::Range createTripletTopCandidates (const SpacePointContainer &spacePoints, const ConstSpacePointProxy &spM, const DoubletsForMiddleSp::Proxy &bottomDoublet, DoubletsForMiddleSp::Range topDoublets, TripletTopCandidates &tripletTopCandidates) const =0
 Create triplets from the bottom, middle, and top space points.
virtual DoubletsForMiddleSp::Subset createTripletTopCandidates (const SpacePointContainer &spacePoints, const ConstSpacePointProxy &spM, const DoubletsForMiddleSp::Proxy &bottomDoublet, DoubletsForMiddleSp::Subset topDoublets, TripletTopCandidates &tripletTopCandidates) const =0
 Create triplets from the bottom, middle, and top space points.
virtual DoubletsForMiddleSp::Subset2 createTripletTopCandidates (const SpacePointContainer &spacePoints, const ConstSpacePointProxy &spM, const DoubletsForMiddleSp::Proxy &bottomDoublet, DoubletsForMiddleSp::Subset2 topDoublets, TripletTopCandidates &tripletTopCandidates) const =0
 Create triplets from the bottom, middle, and top space points.

Static Public Member Functions

static std::unique_ptr< TripletSeedFindercreate (const DerivedConfig &config)
 Creates a new triplet seed finder instance given the configuration.

Detailed Description

Interface and a collection of standard implementations for a triplet seed finder.

Note
The standard implementations rely on virtual function dispatch which did not turn out to affect the performance after measurement.

Member Function Documentation

◆ config()

virtual const DerivedConfig & Acts::TripletSeedFinder::config ( ) const
pure virtual

Returns the configuration of the triplet seed finder.

Returns
Reference to the configuration object

◆ create()

std::unique_ptr< TripletSeedFinder > Acts::TripletSeedFinder::create ( const DerivedConfig & config)
static

Creates a new triplet seed finder instance given the configuration.

Parameters
configConfiguration for the triplet seed finder
Returns
Unique pointer to new TripletSeedFinder instance

◆ createTripletTopCandidates() [1/3]

virtual DoubletsForMiddleSp::Range Acts::TripletSeedFinder::createTripletTopCandidates ( const SpacePointContainer & spacePoints,
const ConstSpacePointProxy & spM,
const DoubletsForMiddleSp::Proxy & bottomDoublet,
DoubletsForMiddleSp::Range topDoublets,
TripletTopCandidates & tripletTopCandidates ) const
nodiscardpure virtual

Create triplets from the bottom, middle, and top space points.

Note
If the configuration declares the doublets sorted by cotTheta, the returned view is the input advanced past the top doublets that can no longer be compatible with any bottom doublet of a larger cotTheta. A caller sweeping the bottom doublets in ascending cotTheta has to feed the returned view to the next call, and start over from the full collection for the next middle space point.
Parameters
spacePointsSpace point container
spMSpace point candidate to be used as middle SP in a seed
bottomDoubletBottom doublet to be used for triplet creation
topDoubletsTop doublets to be used for triplet creation
tripletTopCandidatesCache for triplet top candidates
Returns
The top doublets that can still be compatible with a subsequent bottom doublet, see the note above

◆ createTripletTopCandidates() [2/3]

virtual DoubletsForMiddleSp::Subset Acts::TripletSeedFinder::createTripletTopCandidates ( const SpacePointContainer & spacePoints,
const ConstSpacePointProxy & spM,
const DoubletsForMiddleSp::Proxy & bottomDoublet,
DoubletsForMiddleSp::Subset topDoublets,
TripletTopCandidates & tripletTopCandidates ) const
nodiscardpure virtual

Create triplets from the bottom, middle, and top space points.

Parameters
spacePointsSpace point container
spMSpace point candidate to be used as middle SP in a seed
bottomDoubletBottom doublet to be used for triplet creation
topDoubletsTop doublets to be used for triplet creation
tripletTopCandidatesCache for triplet top candidates
Returns
The top doublets that can still be compatible with a subsequent bottom doublet, see the note above

◆ createTripletTopCandidates() [3/3]

virtual DoubletsForMiddleSp::Subset2 Acts::TripletSeedFinder::createTripletTopCandidates ( const SpacePointContainer & spacePoints,
const ConstSpacePointProxy & spM,
const DoubletsForMiddleSp::Proxy & bottomDoublet,
DoubletsForMiddleSp::Subset2 topDoublets,
TripletTopCandidates & tripletTopCandidates ) const
nodiscardpure virtual

Create triplets from the bottom, middle, and top space points.

Parameters
spacePointsSpace point container
spMSpace point candidate to be used as middle SP in a seed
bottomDoubletBottom doublet to be used for triplet creation
topDoubletsTop doublets to be used for triplet creation
tripletTopCandidatesCache for triplet top candidates
Returns
The top doublets that can still be compatible with a subsequent bottom doublet, see the note above