Struct Acts::Neighbour

template<typename external_spacepoint_t>
struct Neighbour

A class that helps in processing the neighbours, given a collection of middle space points The idea here is that in the seeding we look for compatible b-m and m-t doublets.

One of the requirements is that the bottom/top space point is at a suitable distance (in radius) w.r.t. the middle space point. We know however that the space points in each bin are sorted in radius. That means we can use this sorting in order to reduce the number of space point to consider when looking for compatible doublets. The idea is to keep track of first space point that is in the allowed bin, by storing its position using an iterator itr This helps us since the lower possible buondary is given by the first middle space point (its radius minus the mad deltaR defined by the user). The subsequent middle space point will have a higher radius. That means that there is no point in looking at neighbour space point before itr, since we know they will be out of range.

Public Functions

Neighbour() = delete

default constructor

Neighbour(Acts::SpacePointGrid<external_spacepoint_t> &&grid, std::size_t idx, const float lowerBound) = delete

Constructor with grid as rvalue.

Parameters
  • grid – The grid containing the space points

  • idx – The global index of the bin in the grid

  • lowerBound – The lower bound of the allowed space points

Neighbour(const Acts::SpacePointGrid<external_spacepoint_t> &grid, std::size_t idx, const float lowerBound)

Constructor.

Parameters
  • grid – The grid containing the space points

  • idx – The global index of the bin in the grid

  • lowerBound – The lower bound of the allowed space point

Public Members

std::size_t index

The global bin index on the grid.

Acts::SpacePointGrid<external_spacepoint_t>::value_type::const_iterator itr

The iterator containing the position of the first space point in the valid radius range.