File FindDublets.hpp

namespace Acts

Set the Geometry Context PLUGIN.

Set the Calibration Context PLUGIN.

Convenience functions to ease creation of and Acts::InterpolatedMaterialMap and to avoid code duplication.

Set the Mangetic Field Context PLUGIN.

Convenience functions to ease creation of and Acts::InterpolatedBFieldMap and to avoid code duplication.

Currently implemented for the two most common formats: rz and xyz.

namespace Cuda
namespace Details

Namespace holding some implementation detail types that should not be used directly in client code.

Functions

void findDublets(std::size_t maxBlockSize, std::size_t nBottomSPs, const device_array<SpacePoint> &bottomSPs, std::size_t nMiddleSPs, const device_array<SpacePoint> &middleSPs, std::size_t nTopSPs, const device_array<SpacePoint> &topSPs, float deltaRMin, float deltaRMax, float cotThetaMax, float collisionRegionMin, float collisionRegionMax, device_array<unsigned int> &middleBottomCounts, device_array<std::size_t> &middleBottomDublets, device_array<unsigned int> &middleTopCounts, device_array<std::size_t> &middleTopDublets)

Find all viable middle-bottom and middle-top dublets.

This function is run as the first step in the seed finding, looking for viable middle-bottom and middle-top spacepoint pairs for the subsequent steps of the code.

Note that middleBottomCounts and middleTopCounts have type “unsigned int” instead of “std::size_t”, because the GPU code needs to execute atomic operations on these arrays. And CUDA does not define such operations on std::size_t (i.e. unsigned long).

Parameters
  • maxBlockSize[in] The maximum block size to use on the GPU

  • nBottomSPs[in] The number of bottom spacepoints in bottomSPs

  • bottomSPs[in] Properties of all of the bottom spacepoints

  • nMiddleSPs[in] The number of middle spacepoints in middleSPs

  • middleSPs[in] Properties of all of the middle spacepoints

  • nTopSPs[in] The number of top spacepoints in topSPs

  • topSPs[in] Properties of all of the top spacepoints

  • deltaRMin[in] Configuration parameter from Acts::SeedfinderConfig

  • deltaRMax[in] Configuration parameter from Acts::SeedfinderConfig

  • cotThetaMax[in] Configuration parameter from Acts::SeedfinderConfig

  • collisionRegionMin[in] Configuration parameter from Acts::SeedfinderConfig

  • collisionRegionMax[in] Configuration parameter from Acts::SeedfinderConfig

  • middleBottomCounts[out] 1-D array of the number of middle-bottom dublets found for each middle spacepoint

  • middleBottomDublets[out] 2-D matrix of size nMiddleSPs x nBottomSPs, holding the bottom spacepoint indices for the identified middle-bottom dublets

  • middleTopCounts[out] 1-D array of the number of middle-top dublets found for each middle spacepoint

  • middleTopDublets[out] 2-D matrix of size nMiddleSPs x nTopSPs, holding the top spacepoint indices for the identified middle-top dublets