File SeedFilter.hpp

namespace Acts

Note

This file is foreseen for the Geometry module to replace Extent

template<typename external_spacepoint_t>
class SeedFilter
#include <Acts/Seeding/SeedFilter.hpp>

Filter seeds at various stages with the currently available information.

Public Functions

SeedFilter(SeedFilterConfig config, IExperimentCuts<external_spacepoint_t> *expCuts = nullptr)
SeedFilter() = delete
virtual ~SeedFilter() = default
virtual void filterSeeds_1SpFixed(CandidatesForMiddleSp<InternalSpacePoint<external_spacepoint_t>> &candidates_collector, std::size_t &numQualitySeeds, std::back_insert_iterator<std::vector<Seed<external_spacepoint_t>>> outIt) const

Filter seeds once all seeds for one middle space point have been created.

Parameters
  • candidates_collector – collection of seed candidates

  • numQualitySeeds – number of high quality seeds in seed confirmation

  • outIt – Output iterator for the seeds for all seeds with the same middle space point

virtual void filterSeeds_1SpFixed(std::vector<typename CandidatesForMiddleSp<InternalSpacePoint<external_spacepoint_t>>::value_type> &candidates, std::size_t &numQualitySeeds, std::back_insert_iterator<std::vector<Seed<external_spacepoint_t>>> outIt) const

Filter seeds once all seeds for one middle space point have been created.

Parameters
  • candidates – collection of seed candidates

  • numQualitySeeds – number of high quality seeds in seed confirmation

  • outIt – Output iterator for the seeds for all seeds with the same middle space point

virtual void filterSeeds_2SpFixed(InternalSpacePoint<external_spacepoint_t> &bottomSP, InternalSpacePoint<external_spacepoint_t> &middleSP, std::vector<InternalSpacePoint<external_spacepoint_t>*> &topSpVec, std::vector<float> &invHelixDiameterVec, std::vector<float> &impactParametersVec, SeedFilterState &seedFilterState, CandidatesForMiddleSp<InternalSpacePoint<external_spacepoint_t>> &candidates_collector) const

Create InternalSeeds for the all seeds with the same bottom and middle space point and discard all others.

Parameters
  • bottomSP – fixed bottom space point

  • middleSP – fixed middle space point

  • topSpVec – vector containing all space points that may be compatible with both bottom and middle space point

  • invHelixDiameterVec – vector containing 1/(2*r) values where r is the helix radius

  • impactParametersVec – vector containing the impact parameters

  • seedFilterState – holds quantities used in seed filter

  • candidates_collector – container for the seed candidates

inline const IExperimentCuts<external_spacepoint_t> *getExperimentCuts() const
inline const SeedFilterConfig getSeedFilterConfig() const

Private Members

const SeedFilterConfig m_cfg
const IExperimentCuts<external_spacepoint_t> *m_experimentCuts
struct SeedFilterState
#include <Acts/Seeding/SeedFilter.hpp>

Public Members

size_t nTopSeedConf = 0
std::size_t numQualitySeeds = 0
std::size_t numSeeds = 0
float zOrigin = 0