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

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

#include <Acts/Seeding2/DoubletSeedFinder.hpp>

Classes

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

Public Member Functions

virtual ~DoubletSeedFinder ()=default
virtual const DerivedConfigconfig () const =0
 Returns the configuration of the doublet seed finder.
virtual void createDoublets (const ConstSpacePointProxy2 &middleSp, const MiddleSpInfo &middleSpInfo, SpacePointContainer2::ConstRange &candidateSps, DoubletsForMiddleSp &compatibleDoublets) const =0
 Creates compatible dublets by applying a series of cuts that can be tested with only two SPs.
virtual void createDoublets (const ConstSpacePointProxy2 &middleSp, const MiddleSpInfo &middleSpInfo, SpacePointContainer2::ConstSubset &candidateSps, DoubletsForMiddleSp &compatibleDoublets) const =0
 Creates compatible dublets by applying a series of cuts that can be tested with only two SPs.

Static Public Member Functions

static MiddleSpInfo computeMiddleSpInfo (const ConstSpacePointProxy2 &spM)
 Computes additional quantities from the middle space point which can be reused during doublet finding.
static std::unique_ptr< DoubletSeedFindercreate (const DerivedConfig &config)
 Creates a new doublet seed finder instance given the configuration.

Detailed Description

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

Given a starting space point and a collection of candidates, it finds all doublets that satisfy the selection criteria. For the standard implementations the criteria are given by interaction point cuts.

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

Constructor & Destructor Documentation

◆ ~DoubletSeedFinder()

virtual Acts::DoubletSeedFinder::~DoubletSeedFinder ( )
virtualdefault

Member Function Documentation

◆ computeMiddleSpInfo()

MiddleSpInfo Acts::DoubletSeedFinder::computeMiddleSpInfo ( const ConstSpacePointProxy2 & spM)
static

Computes additional quantities from the middle space point which can be reused during doublet finding.

Parameters
spMMiddle space point for doublet computation
Returns
MiddleSpInfo structure with computed quantities

◆ config()

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

Returns the configuration of the doublet seed finder.

Returns
Reference to the configuration object

◆ create()

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

Creates a new doublet seed finder instance given the configuration.

Parameters
configConfiguration for the doublet seed finder
Returns
Unique pointer to new DoubletSeedFinder instance

◆ createDoublets() [1/2]

virtual void Acts::DoubletSeedFinder::createDoublets ( const ConstSpacePointProxy2 & middleSp,
const MiddleSpInfo & middleSpInfo,
SpacePointContainer2::ConstRange & candidateSps,
DoubletsForMiddleSp & compatibleDoublets ) const
pure virtual

Creates compatible dublets by applying a series of cuts that can be tested with only two SPs.

Parameters
middleSpSpace point candidate to be used as middle SP in a seed
middleSpInfoInformation about the middle space point
candidateSpsRange of space points to be used as candidates for middle SP in a seed
compatibleDoubletsOutput container for compatible doublets

◆ createDoublets() [2/2]

virtual void Acts::DoubletSeedFinder::createDoublets ( const ConstSpacePointProxy2 & middleSp,
const MiddleSpInfo & middleSpInfo,
SpacePointContainer2::ConstSubset & candidateSps,
DoubletsForMiddleSp & compatibleDoublets ) const
pure virtual

Creates compatible dublets by applying a series of cuts that can be tested with only two SPs.

Parameters
middleSpSpace point candidate to be used as middle SP in a seed
middleSpInfoInformation about the middle space point
candidateSpsSubset of space points to be used as candidates for middle SP in a seed
compatibleDoubletsOutput container for compatible doublets