Class Acts::Seedfinder

template<typename external_spacepoint_t, typename platform_t = void*>
class Acts::Seedfinder

Disallow default instantiation, copy, assignment

Seedfinder() = delete
Seedfinder(const Seedfinder<external_spacepoint_t, platform_t>&) = delete
Seedfinder<external_spacepoint_t, platform_t> &operator=(const Seedfinder<external_spacepoint_t, platform_t>&) = delete

Public Functions

Seedfinder(Acts::SeedfinderConfig<external_spacepoint_t> config)

The only constructor.

Requires a config object.

Parameters

config – the configuration for the Seedfinder

~Seedfinder() = default
template<template<typename...> typename container_t, typename sp_range_t>
void createSeedsForGroup(State &state, std::back_insert_iterator<container_t<Seed<external_spacepoint_t>>> outIt, sp_range_t bottomSPs, sp_range_t middleSPs, sp_range_t topSPs) const

Create all seeds from the space points in the three iterators.

Can be used to parallelize the seed creation

Note

Ranges must return pointers.

Note

Ranges must be separate objects for each parallel call.

Parameters
  • state – State object that holds memory used

  • outIt – Output iterator for the seeds in the group

  • bottomSPs – group of space points to be used as innermost SP in a seed.

  • middleSPs – group of space points to be used as middle SP in a seed.

  • topSPs – group of space points to be used as outermost SP in a seed.

struct State

Public Members

std::vector<const InternalSpacePoint<external_spacepoint_t>*> compatBottomSP
std::vector<const InternalSpacePoint<external_spacepoint_t>*> compatTopSP
std::vector<float> curvatures
std::vector<float> impactParameters
std::vector<LinCircle> linCircleBottom
std::vector<LinCircle> linCircleTop
std::vector<std::pair<float, std::unique_ptr<const InternalSeed<external_spacepoint_t>>>> seedsPerSpM
std::vector<const InternalSpacePoint<external_spacepoint_t>*> topSpVec