File IndexedGridFiller.hpp¶
-
namespace Acts
Note
This file is foreseen for the
Geometry
module to replaceExtent
-
namespace Experimental
Functions
-
std::vector<std::size_t> binSequence(std::array<std::size_t, 2u> minMaxBins, std::size_t expand, std::size_t nBins, detail::AxisBoundaryType type)¶
Helper method to generate completely populated bin sequences that respect the boundary type of the axis.
Note
for closed binning a span over half the bins flips direction
- Parameters
minMaxBins – estimated bin range (aka binning boundary box)
expand – the parameter to expand the view (extra window)
nBins – the maximum number of bins on this axis
type – the boundary type of the axis (for correct bin closure)
- Returns
a vector of bins to be filled
-
template<typename grid_type>
std::set<typename grid_type::index_t> localIndices(const grid_type &grid, const std::vector<typename grid_type::point_t> &queries, const std::vector<std::size_t> &expansion = {})¶ Helper method to fill local bins given a set of query points bin in between the extra points are filled, and a possible expansion of the bin window can be chosen.
- Template Parameters
grid_type – the type of the grid that determines locall binning
- Parameters
grid – the grid used for this
queries – the grid positions for the bin queries
expansion – are the additional (configured) number of bins to expand the view
- Returns
a set of unique indices
-
struct BinningValueReferenceGenerator¶
- #include <Acts/Detector/IndexedGridFiller.hpp>
A struct to access reference postions based on bin values.
This generator will provide only one filling point and hence only a single bin in the indexed grid.
Public Functions
-
inline const std::vector<Vector3> references(const GeometryContext &gctx, const Surface &surface) const¶
Helper to access a reference postion based on binning value.
- Parameters
gctx – the geometry context of this operation
surface – the surface for which the reference point is to be accessed
- Returns
a vector of referene points for filling
Public Members
-
BinningValue bValue¶
The binning value.
-
inline const std::vector<Vector3> references(const GeometryContext &gctx, const Surface &surface) const¶
-
struct CenterReferenceGenerator¶
- #include <Acts/Detector/IndexedGridFiller.hpp>
A struct to access the center position.
This generator will provide only one filling point and hence only a single bin in the indexed grid.
Public Functions
-
inline const std::vector<Vector3> references(const GeometryContext &gctx, const Surface &surface) const¶
Helper to access the Center point of for filling the grid.
- Parameters
gctx – the geometry context of this operation
surface – the surface for which the reference point is to be accessed
- Returns
a vector of referene points for filling
-
inline const std::vector<Vector3> references(const GeometryContext &gctx, const Surface &surface) const¶
-
struct IndexedGridFiller¶
- #include <Acts/Detector/IndexedGridFiller.hpp>
A helper class that fills surfaces into predefined grids.
Public Functions
-
template<typename index_grid, typename indices>
inline void assignToAll(index_grid &iGrid, const indices &idcs) const¶ Helper method to fill a dedicated list of indices into the entire grid.
This is useful if e.g. certain objects are to be attempted in any case, regardless of their binning.
-
template<typename index_grid, typename indexed_objects, typename reference_generator>
inline void fill(const GeometryContext &gctx, index_grid &iGrid, const indexed_objects &iObjects, const reference_generator &rGenerator, const typename index_grid::grid_type::value_type &aToAll = {}) const¶ This method takes a collection of objects and fills them into an index grid - it uses a reference generator for grid query points and then completes the bins in between.
It also allows for expanding the fill view.
Note
as this is a Detector module, the objects within the indexed_objects container are assumed to have pointer semantics
- Template Parameters
index_grid – the type of the index grid
indexed_objects – the type of the object container
reference_generator – the generator for reference points to be filled
- Parameters
gctx – the geometry context of the operation
iGrid – [in,out] the index grid object to be filled
iObjects – the object container to be indexed
rGenerator – the reference point generator for position queries
aToAll – the indices that are assigned to all bins
-
template<typename index_grid, typename indices>
-
struct PolyhedronReferenceGenerator¶
- #include <Acts/Detector/IndexedGridFiller.hpp>
A struct to access generated vertices from surface polyhedrons These vertices are then used to find the bin boundary box for the indexed grid.
The grid filling then completes the empty bins in between and expands if necessary.
Public Functions
-
inline const std::vector<Vector3> references(const GeometryContext &gctx, const Surface &surface) const¶
Helper to access the Center point of for filling the grid.
- Parameters
gctx – the geometry context of this operation
surface – the surface for which the reference point is to be accessed
- Returns
a vector of referene points for filling
-
inline const std::vector<Vector3> references(const GeometryContext &gctx, const Surface &surface) const¶
-
std::vector<std::size_t> binSequence(std::array<std::size_t, 2u> minMaxBins, std::size_t expand, std::size_t nBins, detail::AxisBoundaryType type)¶
-
namespace Experimental