|
ACTS
Experiment-independent tracking
|
Storage for the GBTS graph nodes. More...
#include <Acts/Seeding/GbtsNodeStorage.hpp>
Public Member Functions | |
| GbtsNodeStorage (const GbtsNodeStorage &)=delete | |
| Filled storage is not relocatable: the column proxies point into the space point container held by value. | |
| GbtsNodeStorage (GbtsNodeStorage &&)=delete | |
| void | extend (const SpacePointContainer &spacePoints, const ConstSpacePointColumnProxy< GbtsLayerIndex > &layerColumn, const ConstSpacePointColumnProxy< float > &clusterWidthColumn, const ConstSpacePointColumnProxy< float > &localPositionYColumn) |
| Insert every space point of a container. | |
| void | finalize () |
| Sort the nodes by (eta bin, phi) and build the derived per-node data. | |
| bool | hasStrips () const |
| Whether any node carries a stereo pair, i.e. | |
| std::optional< std::uint32_t > | insert (const ConstSpacePointProxy &sp, const ConstSpacePointColumnProxy< GbtsLayerIndex > &layerColumn, const ConstSpacePointColumnProxy< float > &clusterWidthColumn, const ConstSpacePointColumnProxy< float > &localPositionYColumn, bool strips=false) |
| Insert a space point from an ACTS space point container. | |
| std::optional< std::uint32_t > | insert (SpacePointIndex index, float x, float y, float z, float r, float phi, GbtsLayerIndex layerIndex, float clusterWidth=0.f, float localPositionY=0.f, const OuterStripSpacePointCalibrationDetails *strip=nullptr) |
| [gbts insert] | |
| std::optional< std::uint32_t > | insert (SpacePointIndex index, float x, float y, float z, GbtsLayerIndex layerIndex, float clusterWidth=0.f, float localPositionY=0.f) |
| std::uint32_t | numberOfNodes () const |
| Get the total number of nodes. | |
| GbtsNodeStorage & | operator= (const GbtsNodeStorage &)=delete |
| GbtsNodeStorage & | operator= (GbtsNodeStorage &&)=delete |
| SpacePointIndex | spacePointIndex (SpacePointIndex node) const |
| Map a node index back to the index the caller used when inserting it. | |
Static Public Attributes | |
| static constexpr std::uint32_t | kMaxPhiSortBuckets = 31 |
| Maximum Config::phiSortBuckets; sizes the fixed bucket array. | |
Storage for the GBTS graph nodes.
Nodes go in one at a time through insert, which takes plain scalars so that a caller can fill the storage from its own space point EDM. finalize then orders the nodes by (eta bin, phi) into a space point container, with the derived per-node data in dynamic columns on that container.
| void Acts::Experimental::GbtsNodeStorage::extend | ( | const SpacePointContainer & | spacePoints, |
| const ConstSpacePointColumnProxy< GbtsLayerIndex > & | layerColumn, | ||
| const ConstSpacePointColumnProxy< float > & | clusterWidthColumn, | ||
| const ConstSpacePointColumnProxy< float > & | localPositionYColumn ) |
Insert every space point of a container.
A container carrying SpacePointColumns::StripCalibrationDetails has its stereo pairs taken with it, for the layers the configuration marks as strip layers.
| spacePoints | The space points to insert |
| layerColumn | Column holding the dense GBTS layer index |
| clusterWidthColumn | Column holding the pixel cluster width |
| localPositionYColumn | Column holding the local y cluster position |
| void Acts::Experimental::GbtsNodeStorage::finalize | ( | ) |
Sort the nodes by (eta bin, phi) and build the derived per-node data.
Must be called once after all inserts and before the storage is read.
| bool Acts::Experimental::GbtsNodeStorage::hasStrips | ( | ) | const |
Whether any node carries a stereo pair, i.e.
whether the graph has a strip path to take. A caller that fed strip space points in can check here that their pairs arrived.
| std::optional< std::uint32_t > Acts::Experimental::GbtsNodeStorage::insert | ( | const ConstSpacePointProxy & | sp, |
| const ConstSpacePointColumnProxy< GbtsLayerIndex > & | layerColumn, | ||
| const ConstSpacePointColumnProxy< float > & | clusterWidthColumn, | ||
| const ConstSpacePointColumnProxy< float > & | localPositionYColumn, | ||
| bool | strips = false ) |
Insert a space point from an ACTS space point container.
| sp | The space point to insert |
| layerColumn | Column holding the dense GBTS layer index |
| clusterWidthColumn | Column holding the pixel cluster width |
| localPositionYColumn | Column holding the local y cluster position |
| strips | Whether the container carries the stereo pairs |
| std::optional< std::uint32_t > Acts::Experimental::GbtsNodeStorage::insert | ( | SpacePointIndex | index, |
| float | x, | ||
| float | y, | ||
| float | z, | ||
| float | r, | ||
| float | phi, | ||
| GbtsLayerIndex | layerIndex, | ||
| float | clusterWidth = 0.f, | ||
| float | localPositionY = 0.f, | ||
| const OuterStripSpacePointCalibrationDetails * | strip = nullptr ) |
[gbts insert]
Insert a space point for callers that already have r and phi.
| index | Index of the space point in the caller's own collection |
| x | Global x coordinate |
| y | Global y coordinate |
| z | Global z coordinate |
| r | Transverse distance from the beamline |
| phi | Azimuthal angle in the xy plane |
| layerIndex | Dense GBTS layer index |
| clusterWidth | Pixel cluster width |
| localPositionY | Local y cluster position |
| strip | Stereo pair the point was formed from, null for a pixel one |
| std::optional< std::uint32_t > Acts::Experimental::GbtsNodeStorage::insert | ( | SpacePointIndex | index, |
| float | x, | ||
| float | y, | ||
| float | z, | ||
| GbtsLayerIndex | layerIndex, | ||
| float | clusterWidth = 0.f, | ||
| float | localPositionY = 0.f ) |
[gbts insert] Insert a space point, deriving r and phi from the global position.
| index | Index of the space point in the caller's own collection |
| x | Global x coordinate |
| y | Global y coordinate |
| z | Global z coordinate |
| layerIndex | Dense GBTS layer index |
| clusterWidth | Pixel cluster width |
| localPositionY | Local y cluster position |
| std::uint32_t Acts::Experimental::GbtsNodeStorage::numberOfNodes | ( | ) | const |
Get the total number of nodes.
| SpacePointIndex Acts::Experimental::GbtsNodeStorage::spacePointIndex | ( | SpacePointIndex | node | ) | const |
Map a node index back to the index the caller used when inserting it.
| node | Node index |