|
ACTS
Experiment-independent tracking
|
A cylindrical space point grid used for seeding in a cylindrical detector geometry. More...
#include <Acts/Seeding2/CylindricalSpacePointGrid2.hpp>
Classes | |
| struct | Config |
Public Types | |
| using | BinnedGroupType = BinnedGroup<GridType> |
| Type alias for binned group over the cylindrical grid. | |
| using | BinType = std::vector<SpacePointIndex> |
| Type alias for bin container holding space point indices. | |
| using | GridType = Grid<BinType, PhiAxisType, ZAxisType, RAxisType> |
| Cylindrical space point grid type, which is a grid over BinType with axes defined by PhiAxisType, ZAxisType, and RAxisType. | |
| using | PhiAxisType = Axis<AxisType::Equidistant, AxisBoundaryType::Closed> |
| Type alias for phi axis with equidistant binning and closed boundaries. | |
| using | RAxisType = Axis<AxisType::Variable, AxisBoundaryType::Open> |
| Type alias for r axis with variable binning and open boundaries. | |
| using | SpacePointIndex = std::uint32_t |
| Space point index type used in the grid. | |
| using | ZAxisType = Axis<AxisType::Variable, AxisBoundaryType::Open> |
| Type alias for z axis with variable binning and open boundaries. | |
Public Member Functions | |
| CylindricalSpacePointGrid2 (const Config &config, std::unique_ptr< const Logger > logger=getDefaultLogger("CylindricalSpacePointGrid2", Logging::Level::INFO)) | |
| Construct a cylindrical space point grid with the given configuration and an optional logger. | |
| BinType & | at (std::size_t index) |
| Mutable bin access by index. | |
| const BinType & | at (std::size_t index) const |
| Const bin access by index. | |
| std::optional< std::size_t > | binIndex (const Vector3 &position) const |
| Get the bin index for a space point given its azimuthal angle, radial distance, and z-coordinate. | |
| std::optional< std::size_t > | binIndex (float phi, float z, float r) const |
| Get the bin index for a space point given its azimuthal angle, radial distance, and z-coordinate. | |
| const BinnedGroupType & | binnedGroup () const |
| Access to the binned group. | |
| void | clear () |
| Clear the grid and drop all state. | |
| Range1D< float > | computeRadiusRange (const SpacePointContainer2 &spacePoints) const |
| Compute the range of radii in the grid. | |
| void | extend (const SpacePointContainer2::ConstRange &spacePoints) |
| Fill the grid with space points from the container. | |
| GridType & | grid () |
| Mutable grid access. | |
| const GridType & | grid () const |
| Const grid access. | |
| std::optional< std::size_t > | insert (const ConstSpacePointProxy2 &sp) |
| Insert a space point into the grid. | |
| std::optional< std::size_t > | insert (SpacePointIndex index, float phi, float z, float r) |
| Insert a space point into the grid. | |
| std::size_t | numberOfBins () const |
| Get the number of bins in the grid. | |
| std::size_t | numberOfSpacePoints () const |
| Get the number of space points in the grid. | |
| void | sortBinsByR (const SpacePointContainer2 &spacePoints) |
| Sort the bins in the grid by the space point radius, which is required by some algorithms that operate on the grid. | |
A cylindrical space point grid used for seeding in a cylindrical detector geometry.
The grid is defined in cylindrical coordinates (phi, z, r) and allows for efficient access to space points based on their azimuthal angle, z-coordinate, and radial distance.
Type alias for binned group over the cylindrical grid.
| using Acts::CylindricalSpacePointGrid2::BinType = std::vector<SpacePointIndex> |
Type alias for bin container holding space point indices.
Cylindrical space point grid type, which is a grid over BinType with axes defined by PhiAxisType, ZAxisType, and RAxisType.
The grid is a 3D grid with the axes representing azimuthal angle (phi), z-coordinate, and radial distance (r).
| using Acts::CylindricalSpacePointGrid2::PhiAxisType = Axis<AxisType::Equidistant, AxisBoundaryType::Closed> |
Type alias for phi axis with equidistant binning and closed boundaries.
| using Acts::CylindricalSpacePointGrid2::RAxisType = Axis<AxisType::Variable, AxisBoundaryType::Open> |
Type alias for r axis with variable binning and open boundaries.
| using Acts::CylindricalSpacePointGrid2::SpacePointIndex = std::uint32_t |
Space point index type used in the grid.
| using Acts::CylindricalSpacePointGrid2::ZAxisType = Axis<AxisType::Variable, AxisBoundaryType::Open> |
Type alias for z axis with variable binning and open boundaries.
|
explicit |
Construct a cylindrical space point grid with the given configuration and an optional logger.
| config | Configuration for the cylindrical grid |
| logger | Optional logger instance for debugging output |
| BinType & Acts::CylindricalSpacePointGrid2::at | ( | std::size_t | index | ) |
Mutable bin access by index.
| index | The index of the bin to access |
| const BinType & Acts::CylindricalSpacePointGrid2::at | ( | std::size_t | index | ) | const |
Const bin access by index.
| index | The index of the bin to access |
| std::optional< std::size_t > Acts::CylindricalSpacePointGrid2::binIndex | ( | const Vector3 & | position | ) | const |
Get the bin index for a space point given its azimuthal angle, radial distance, and z-coordinate.
| position | The position of the space point in (phi, z, r) coordinates |
| std::optional< std::size_t > Acts::CylindricalSpacePointGrid2::binIndex | ( | float | phi, |
| float | z, | ||
| float | r ) const |
Get the bin index for a space point given its azimuthal angle, radial distance, and z-coordinate.
| phi | The azimuthal angle of the space point in radians |
| z | The z-coordinate of the space point |
| r | The radial distance of the space point from the origin |
| const BinnedGroupType & Acts::CylindricalSpacePointGrid2::binnedGroup | ( | ) | const |
Access to the binned group.
| void Acts::CylindricalSpacePointGrid2::clear | ( | ) |
Clear the grid and drop all state.
The object will behave like a newly constructed one.
| Range1D< float > Acts::CylindricalSpacePointGrid2::computeRadiusRange | ( | const SpacePointContainer2 & | spacePoints | ) | const |
Compute the range of radii in the grid.
This requires the grid to be filled with space points and sorted by radius. The sorting can be done with the sortBinsByR method.
| spacePoints | The space point container to compute the radius range |
| void Acts::CylindricalSpacePointGrid2::extend | ( | const SpacePointContainer2::ConstRange & | spacePoints | ) |
Fill the grid with space points from the container.
| spacePoints | The space point container to fill the grid with |
| GridType & Acts::CylindricalSpacePointGrid2::grid | ( | ) |
Mutable grid access.
| const GridType & Acts::CylindricalSpacePointGrid2::grid | ( | ) | const |
Const grid access.
| std::optional< std::size_t > Acts::CylindricalSpacePointGrid2::insert | ( | const ConstSpacePointProxy2 & | sp | ) |
Insert a space point into the grid.
| sp | The space point to insert |
| std::optional< std::size_t > Acts::CylindricalSpacePointGrid2::insert | ( | SpacePointIndex | index, |
| float | phi, | ||
| float | z, | ||
| float | r ) |
Insert a space point into the grid.
| index | The index of the space point to insert |
| phi | The azimuthal angle of the space point in radians |
| z | The z-coordinate of the space point |
| r | The radial distance of the space point from the origin |
| std::size_t Acts::CylindricalSpacePointGrid2::numberOfBins | ( | ) | const |
Get the number of bins in the grid.
| std::size_t Acts::CylindricalSpacePointGrid2::numberOfSpacePoints | ( | ) | const |
Get the number of space points in the grid.
| void Acts::CylindricalSpacePointGrid2::sortBinsByR | ( | const SpacePointContainer2 & | spacePoints | ) |
Sort the bins in the grid by the space point radius, which is required by some algorithms that operate on the grid.
| spacePoints | The space point container to sort the bins by radius |