File TrackSelector.hpp

namespace Acts


This file is foreseen for the Geometry module to replace Extent

class TrackSelector
#include <Acts/TrackFinding/TrackSelector.hpp>

Class which performs filtering of tracks.

It accepts an input and an output track container and uses the built-in copy facility to copy tracks into the output container.

Public Functions

inline TrackSelector(const Config &config)

Constructor from a config object.


config – is the configuration object

inline const Config &config() const

Get readonly access to the config parameters.


the config object

template<typename track_proxy_t>
bool isValidTrack(const track_proxy_t &track) const

Helper function to check if a track is valid.

Template Parameters

track_proxy_t – is the type of the track proxy


track – is the track proxy


true if the track is valid

template<typename input_tracks_t, typename output_tracks_t>
void selectTracks(const input_tracks_t &inputTracks, output_tracks_t &outputTracks) const

Select tracks from an input container and copy them into an output container.

Template Parameters
  • input_tracks_t – is the type of the input track container

  • output_tracks_t – is the type of the output track container

  • inputTracks – is the input track container

  • outputTracks – is the output track container

Private Members

Config m_cfg
struct Config
#include <Acts/TrackFinding/TrackSelector.hpp>

Public Members

double absEtaMax = std::numeric_limits<double>::infinity()
double absEtaMin = 0.0
double etaMax = std::numeric_limits<double>::infinity()
double etaMin = -std::numeric_limits<double>::infinity()
double loc0Max = std::numeric_limits<double>::infinity()
double loc0Min = -std::numeric_limits<double>::infinity()
double loc1Max = std::numeric_limits<double>::infinity()
double loc1Min = -std::numeric_limits<double>::infinity()
std::size_t minMeasurements = 0
double phiMax = std::numeric_limits<double>::infinity()
double phiMin = -std::numeric_limits<double>::infinity()
double ptMax = std::numeric_limits<double>::infinity()
double ptMin = 0.0
double timeMax = std::numeric_limits<double>::infinity()
double timeMin = -std::numeric_limits<double>::infinity()