ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::SpacePointBuilder< spacepoint_t > Class Template Reference

After the particle interaction with surfaces are recorded and digitized measurements on the pixel or strip detectors need further treatment. More...

#include <Acts/SpacePointFormation/SpacePointBuilder.hpp>

Collaboration diagram for Acts::SpacePointBuilder< spacepoint_t >:
[legend]

Public Types

using BuilderFunction
 Type alias for space point builder function.

Public Member Functions

 SpacePointBuilder ()=default
 SpacePointBuilder (const SpacePointBuilderConfig &cfg, BuilderFunction func, std::unique_ptr< const Logger > logger=getDefaultLogger("SpacePointBuilder", Logging::INFO))
template<template< typename... > typename container_t>
void buildSpacePoint (const GeometryContext &gctx, const std::vector< SourceLink > &sourceLinks, const SpacePointBuilderOptions &opt, std::back_insert_iterator< container_t< spacepoint_t > > spacePointIt) const
 Calculates the space points out of a given collection of SourceLinks and stores the results.
void makeSourceLinkPairs (const GeometryContext &gctx, const std::vector< SourceLink > &slinksFront, const std::vector< SourceLink > &slinksBack, std::vector< std::pair< SourceLink, SourceLink > > &slinkPairs, const StripPairOptions &pairOpt) const
 Searches possible combinations of two SourceLinks on different surfaces that may come from the same particles.

Protected Member Functions

const Loggerlogger () const
 Get the logger instance.

Protected Attributes

SpacePointBuilderConfig m_config
 Configuration of the single hit space point builder.
std::unique_ptr< const Acts::Loggerm_logger
 the logging instance
BuilderFunction m_spConstructor
 Function to create external space point The constructor of spacepoint_t with Vector3 global pos, Vector2 global cov, and vector of source link pointers.
std::shared_ptr< const SpacePointUtilitym_spUtility
 Utility for space point calculations.

Detailed Description

template<typename spacepoint_t>
class Acts::SpacePointBuilder< spacepoint_t >

After the particle interaction with surfaces are recorded and digitized measurements on the pixel or strip detectors need further treatment.

This class takes the SouceLinks and provides the corresponding space points.

Member Typedef Documentation

◆ BuilderFunction

template<typename spacepoint_t>
using Acts::SpacePointBuilder< spacepoint_t >::BuilderFunction
Initial value:
std::function<spacepoint_t(
Acts::Vector3, std::optional<double>, Acts::Vector2,
std::optional<double>, boost::container::static_vector<SourceLink, 2>)>
ActsVector< 3 > Vector3
3-dimensional vector type for e.g. spatial coordinates and momenta
Definition Algebra.hpp:72
ActsVector< 2 > Vector2
2-dimensional vector type for 2D coordinates
Definition Algebra.hpp:70

Type alias for space point builder function.

Constructor & Destructor Documentation

◆ SpacePointBuilder() [1/2]

template<typename spacepoint_t>
Acts::SpacePointBuilder< spacepoint_t >::SpacePointBuilder ( const SpacePointBuilderConfig & cfg,
BuilderFunction func,
std::unique_ptr< const Logger > logger = getDefaultLogger("SpacePointBuilder< spacepoint_t >", Logging::INFO) )
Parameters
cfgThe configuration for the space point builder
funcThe function that provides user's SP constructor with global pos, global cov, and sourceLinks.
loggerThe logging instance

◆ SpacePointBuilder() [2/2]

template<typename spacepoint_t>
Acts::SpacePointBuilder< spacepoint_t >::SpacePointBuilder ( )
default

Member Function Documentation

◆ buildSpacePoint()

template<typename spacepoint_t>
template<template< typename... > typename container_t>
void Acts::SpacePointBuilder< spacepoint_t >::buildSpacePoint ( const GeometryContext & gctx,
const std::vector< SourceLink > & sourceLinks,
const SpacePointBuilderOptions & opt,
std::back_insert_iterator< container_t< spacepoint_t > > spacePointIt ) const

Calculates the space points out of a given collection of SourceLinks and stores the results.

Parameters
gctxThe current geometry context object, e.g. alignment
sourceLinksvector of Sourcelink
optoption for the space point building. It contains the ends of the strips for strip SP building
spacePointItOutput iterator for the space point

◆ logger()

template<typename spacepoint_t>
const Logger & Acts::SpacePointBuilder< spacepoint_t >::logger ( ) const
protected

Get the logger instance.

Returns
Reference to the logger

◆ makeSourceLinkPairs()

template<typename spacepoint_t>
void Acts::SpacePointBuilder< spacepoint_t >::makeSourceLinkPairs ( const GeometryContext & gctx,
const std::vector< SourceLink > & slinksFront,
const std::vector< SourceLink > & slinksBack,
std::vector< std::pair< SourceLink, SourceLink > > & slinkPairs,
const StripPairOptions & pairOpt ) const

Searches possible combinations of two SourceLinks on different surfaces that may come from the same particles.

Parameters
gctxThe current geometry context object, e.g. alignment
slinksFrontvector of Sourcelinks on a surface
slinksBackvector of SoruceLinks on another surface
slinkPairsstorage of the SouceLink pairs
pairOptpair maker option with paramCovAccessor

Member Data Documentation

◆ m_config

template<typename spacepoint_t>
SpacePointBuilderConfig Acts::SpacePointBuilder< spacepoint_t >::m_config
protected

Configuration of the single hit space point builder.

◆ m_logger

template<typename spacepoint_t>
std::unique_ptr<const Acts::Logger> Acts::SpacePointBuilder< spacepoint_t >::m_logger
protected

the logging instance

◆ m_spConstructor

template<typename spacepoint_t>
BuilderFunction Acts::SpacePointBuilder< spacepoint_t >::m_spConstructor
protected

Function to create external space point The constructor of spacepoint_t with Vector3 global pos, Vector2 global cov, and vector of source link pointers.

◆ m_spUtility

template<typename spacepoint_t>
std::shared_ptr<const SpacePointUtility> Acts::SpacePointBuilder< spacepoint_t >::m_spUtility
protected

Utility for space point calculations.