Class Acts::Cuda::SeedFinder

template<typename external_spacepoint_t>
class SeedFinder

Public Functions

SeedFinder(SeedfinderConfig<external_spacepoint_t> commonConfig, const SeedFilterConfig &seedFilterConfig, const TripletFilterConfig &tripletFilterConfig, int device = 0, std::unique_ptr<const Logger> logger = getDefaultLogger("Cuda::SeedFinder", Logging::INFO))

Create a CUDA backed seed finder object.

  • commonConfig – Configuration shared with Acts::Seedfinder

  • seedFilterConfig – Configuration shared with Acts::SeedFilter

  • tripletFilterConfig – Configuration for the GPU based triplet filtering

  • device – The identifier of the CUDA device to run on

  • logger – A Logger instance

template<typename sp_range_t>
std::vector<Seed<external_spacepoint_t>> createSeedsForGroup(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

  • 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. Ranges must return pointers. Ranges must be separate objects for each parallel call.


vector in which all found seeds for this group are stored.

void setLogger(std::unique_ptr<const Logger> newLogger)

set logging instance


newLogger[in] is the logging istance to be set