ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::SpacePointProxy< read_only > Class Template Reference

A proxy class for accessing individual space points. More...

#include <Acts/EventData/SpacePointProxy.hpp>

Inheritance diagram for Acts::SpacePointProxy< read_only >:
[legend]

Public Types

using Container = const_if_t<ReadOnly, SpacePointContainer>
 Type alias for container type (const if read-only).
using Index = SpacePointIndex
 Type alias for space point index type.

Public Member Functions

 SpacePointProxy (const SpacePointProxy &other) noexcept=default
 Copy construct a space point proxy.
 SpacePointProxy (const SpacePointProxy< false > &other) noexcept
 Copy construct a mutable space point proxy.
 SpacePointProxy (Container &container, Index index) noexcept
 Constructs a space point proxy for the given container and index.
SpacePointProxy< true > asConst () const noexcept
 Returns a const proxy of the space point.
void assignSourceLinks (std::span< const SourceLink > sourceLinks) const
 Assigns source links to the space point.
const SpacePointContainercontainer () const noexcept
 Gets the container holding the space point.
SpacePointContainercontainer () const noexcept
 Gets the container holding the space point.
SpacePointIndex copiedFromIndex () const noexcept
 Const access to the copied from index of the space point.
SpacePointIndexcopiedFromIndex () const noexcept
 Mutable access to the copied from index of the space point.
template<bool other_read_only>
requires (!ReadOnly)
void copyFrom (const SpacePointProxy< other_read_only > &other, SpacePointColumns columnsToCopy) const
 Copies the specified columns from another space point to this space point.
template<typename T>
const T & extra (const ConstSpacePointColumnProxy< T > &column) const noexcept
 Const access to an extra column of data for the space point.
template<typename T>
T & extra (MutableSpacePointColumnProxy< T > &column) const noexcept
 Mutable access to an extra column of data for the space point.
Index index () const noexcept
 Gets the index of the space point in the container.
SpacePointProxyoperator= (const SpacePointProxy &other) noexcept=default
 Copy assign a space point proxy.
SpacePointProxyoperator= (const SpacePointProxy< false > &other) noexcept
 Copy assign a mutable space point proxy.
SpacePointProxyoperator= (SpacePointProxy &&other) noexcept=default
 Move assign a space point proxy.
SpacePointProxyoperator= (SpacePointProxy< false > &&other) noexcept
 Move assign a mutable space point proxy.
const OuterStripSpacePointCalibrationDetailsouterStripCalibrationDetails () const noexcept
 Const access to the outer strip calibration details of the space point.
OuterStripSpacePointCalibrationDetailsouterStripCalibrationDetails () const noexcept
 Mutable access to the outer strip calibration details of the space point.
float phi () const noexcept
 Const access to the phi coordinate of the space point.
float & phi () const noexcept
 Mutable access to the phi coordinate of the space point.
float r () const noexcept
 Const access to the r coordinate of the space point.
float & r () const noexcept
 Mutable access to the r coordinate of the space point.
std::span< const SourceLinksourceLinks () const noexcept
 Const access to the source links of the space point.
std::span< SourceLinksourceLinks () const noexcept
 Mutable access to the source links of the space point.
float time () const noexcept
 Const access to the time information of the space point.
float & time () const noexcept
 Mutable access to the time information of the space point.
float varianceR () const noexcept
 Const access to the variance r of the space point.
float & varianceR () const noexcept
 Mutable access to the variance r of the space point.
float varianceT () const noexcept
 Const access to the variance t of the space point.
float & varianceT () const noexcept
 Mutable access to the variance t of the space point.
float varianceZ () const noexcept
 Const access to the variance z of the space point.
float & varianceZ () const noexcept
 Mutable access to the variance z of the space point.
const std::array< float, 2 > & varianceZR () const noexcept
 Const access to the ZR coordinate variances.
std::array< float, 2 > & varianceZR () const noexcept
 Mutable access to the ZR coordinate variances of the space point.
float x () const noexcept
 Const access to the x coordinate of the space point.
float & x () const noexcept
 Mutable access to the x coordinate of the space point.
const std::array< float, 2 > & xy () const noexcept
 Const access to the XY coordinates of the space point.
std::array< float, 2 > & xy () const noexcept
 Mutable access to the XY coordinates of the space point.
const std::array< float, 3 > & xyz () const noexcept
 Const access to the XYZ coordinates of the space point.
std::array< float, 3 > & xyz () const noexcept
 Mutable access to the XYZ coordinates of the space point.
const std::array< float, 4 > & xyzr () const noexcept
 Const access to the XYZR coordinates of the space point.
std::array< float, 4 > & xyzr () const noexcept
 Mutable access to the XYZR coordinates of the space point.
float y () const noexcept
 Const access to the y coordinate of the space point.
float & y () const noexcept
 Mutable access to the y coordinate of the space point.
float z () const noexcept
 Const access to the z coordinate of the space point.
float & z () const noexcept
 Mutable access to the z coordinate of the space point.
const std::array< float, 2 > & zr () const noexcept
 Const access to the ZR coordinates of the space point.
std::array< float, 2 > & zr () const noexcept
 Mutable access to the ZR coordinates of the space point.

Static Public Attributes

static constexpr bool ReadOnly = read_only
 Indicates whether this space point proxy is read-only or data can be modified.

Detailed Description

template<bool read_only>
class Acts::SpacePointProxy< read_only >

A proxy class for accessing individual space points.

Constructor & Destructor Documentation

◆ SpacePointProxy() [1/3]

template<bool read_only>
Acts::SpacePointProxy< read_only >::SpacePointProxy ( Container & container,
Index index )
noexcept

Constructs a space point proxy for the given container and index.

Parameters
containerThe container holding the space point.
indexThe index of the space point in the container.

◆ SpacePointProxy() [2/3]

template<bool read_only>
Acts::SpacePointProxy< read_only >::SpacePointProxy ( const SpacePointProxy< read_only > & other)
defaultnoexcept

Copy construct a space point proxy.

Parameters
otherThe space point proxy to copy.

◆ SpacePointProxy() [3/3]

template<bool read_only>
Acts::SpacePointProxy< read_only >::SpacePointProxy ( const SpacePointProxy< false > & other)
explicitnoexcept

Copy construct a mutable space point proxy.

Parameters
otherThe mutable space point proxy to copy.

Member Function Documentation

◆ asConst()

template<bool read_only>
SpacePointProxy< true > Acts::SpacePointProxy< read_only >::asConst ( ) const
noexcept

Returns a const proxy of the space point.

Returns
A const proxy of the space point.

◆ assignSourceLinks()

template<bool read_only>
void Acts::SpacePointProxy< read_only >::assignSourceLinks ( std::span< const SourceLink > sourceLinks) const

Assigns source links to the space point.

Parameters
sourceLinksA span of source links to assign to the space point.
Exceptions
std::out_of_rangeif the index is out of range.
std::logic_errorif no source links column is available.
std::logic_errorif source links are already assigned to the space point.

◆ container() [1/2]

template<bool read_only>
const SpacePointContainer & Acts::SpacePointProxy< read_only >::container ( ) const
noexcept

Gets the container holding the space point.

Returns
A const reference to the container holding the space point.

◆ container() [2/2]

template<bool read_only>
SpacePointContainer & Acts::SpacePointProxy< read_only >::container ( ) const
noexcept

Gets the container holding the space point.

Returns
A reference to the container holding the space point.

◆ copiedFromIndex() [1/2]

template<bool read_only>
SpacePointIndex Acts::SpacePointProxy< read_only >::copiedFromIndex ( ) const
noexcept

Const access to the copied from index of the space point.

Returns
A const reference to the copied from index of the space point.

◆ copiedFromIndex() [2/2]

template<bool read_only>
SpacePointIndex & Acts::SpacePointProxy< read_only >::copiedFromIndex ( ) const
noexcept

Mutable access to the copied from index of the space point.

Returns
A mutable reference to the copied from index of the space point.

◆ copyFrom()

template<bool read_only>
template<bool other_read_only>
requires (!ReadOnly)
void Acts::SpacePointProxy< read_only >::copyFrom ( const SpacePointProxy< other_read_only > & other,
SpacePointColumns columnsToCopy ) const

Copies the specified columns from another space point to this space point.

Parameters
otherThe space point proxy to copy from.
columnsToCopyThe columns to copy from the other space point.

◆ extra() [1/2]

template<bool read_only>
template<typename T>
const T & Acts::SpacePointProxy< read_only >::extra ( const ConstSpacePointColumnProxy< T > & column) const
noexcept

Const access to an extra column of data for the space point.

Parameters
columnThe extra column proxy to access.
Returns
A const reference to the value in the extra column for the space point.

◆ extra() [2/2]

template<bool read_only>
template<typename T>
T & Acts::SpacePointProxy< read_only >::extra ( MutableSpacePointColumnProxy< T > & column) const
noexcept

Mutable access to an extra column of data for the space point.

Parameters
columnThe extra column proxy to access.
Returns
A mutable reference to the value in the extra column for the space point.

◆ index()

template<bool read_only>
Index Acts::SpacePointProxy< read_only >::index ( ) const
noexcept

Gets the index of the space point in the container.

Returns
The index of the space point in the container.

◆ operator=() [1/4]

template<bool read_only>
SpacePointProxy & Acts::SpacePointProxy< read_only >::operator= ( const SpacePointProxy< read_only > & other)
defaultnoexcept

Copy assign a space point proxy.

Parameters
otherThe space point proxy to copy.
Returns
Reference to this space point proxy after assignment.

◆ operator=() [2/4]

template<bool read_only>
SpacePointProxy & Acts::SpacePointProxy< read_only >::operator= ( const SpacePointProxy< false > & other)
noexcept

Copy assign a mutable space point proxy.

Parameters
otherThe mutable space point proxy to copy.
Returns
Reference to this space point proxy after assignment.

◆ operator=() [3/4]

template<bool read_only>
SpacePointProxy & Acts::SpacePointProxy< read_only >::operator= ( SpacePointProxy< read_only > && other)
defaultnoexcept

Move assign a space point proxy.

Parameters
otherThe space point proxy to move.
Returns
Reference to this space point proxy after assignment.

◆ operator=() [4/4]

template<bool read_only>
SpacePointProxy & Acts::SpacePointProxy< read_only >::operator= ( SpacePointProxy< false > && other)
noexcept

Move assign a mutable space point proxy.

Parameters
otherThe mutable space point proxy to move.
Returns
Reference to this space point proxy after assignment.

◆ outerStripCalibrationDetails() [1/2]

template<bool read_only>
const OuterStripSpacePointCalibrationDetails & Acts::SpacePointProxy< read_only >::outerStripCalibrationDetails ( ) const
noexcept

Const access to the outer strip calibration details of the space point.

Returns
A const reference to the outer strip calibration details of the space point.

◆ outerStripCalibrationDetails() [2/2]

template<bool read_only>
OuterStripSpacePointCalibrationDetails & Acts::SpacePointProxy< read_only >::outerStripCalibrationDetails ( ) const
noexcept

Mutable access to the outer strip calibration details of the space point.

Returns
A mutable reference to the outer strip calibration details of the space point.

◆ phi() [1/2]

template<bool read_only>
float Acts::SpacePointProxy< read_only >::phi ( ) const
noexcept

Const access to the phi coordinate of the space point.

Returns
The phi coordinate of the space point.

◆ phi() [2/2]

template<bool read_only>
float & Acts::SpacePointProxy< read_only >::phi ( ) const
noexcept

Mutable access to the phi coordinate of the space point.

Returns
A mutable reference to the phi coordinate of the space point.

◆ r() [1/2]

template<bool read_only>
float Acts::SpacePointProxy< read_only >::r ( ) const
noexcept

Const access to the r coordinate of the space point.

Returns
The r coordinate of the space point.

◆ r() [2/2]

template<bool read_only>
float & Acts::SpacePointProxy< read_only >::r ( ) const
noexcept

Mutable access to the r coordinate of the space point.

Returns
A mutable reference to the r coordinate of the space point.

◆ sourceLinks() [1/2]

template<bool read_only>
std::span< const SourceLink > Acts::SpacePointProxy< read_only >::sourceLinks ( ) const
noexcept

Const access to the source links of the space point.

Returns
A const span of source links associated with the space point.

◆ sourceLinks() [2/2]

template<bool read_only>
std::span< SourceLink > Acts::SpacePointProxy< read_only >::sourceLinks ( ) const
noexcept

Mutable access to the source links of the space point.

Returns
A mutable span of source links associated with the space point.

◆ time() [1/2]

template<bool read_only>
float Acts::SpacePointProxy< read_only >::time ( ) const
noexcept

Const access to the time information of the space point.

Returns
An optional containing the time information of the space point, or

◆ time() [2/2]

template<bool read_only>
float & Acts::SpacePointProxy< read_only >::time ( ) const
noexcept

Mutable access to the time information of the space point.

Returns
A mutable reference to the time information of the space point.

◆ varianceR() [1/2]

template<bool read_only>
float Acts::SpacePointProxy< read_only >::varianceR ( ) const
noexcept

Const access to the variance r of the space point.

Returns
Value of the variance r of the space point.

◆ varianceR() [2/2]

template<bool read_only>
float & Acts::SpacePointProxy< read_only >::varianceR ( ) const
noexcept

Mutable access to the variance r of the space point.

Returns
A mutable reference to the variance r of the space point.

◆ varianceT() [1/2]

template<bool read_only>
float Acts::SpacePointProxy< read_only >::varianceT ( ) const
noexcept

Const access to the variance t of the space point.

Returns
Value of the variance t of the space point.

◆ varianceT() [2/2]

template<bool read_only>
float & Acts::SpacePointProxy< read_only >::varianceT ( ) const
noexcept

Mutable access to the variance t of the space point.

Returns
A mutable reference to the variance t of the space point.

◆ varianceZ() [1/2]

template<bool read_only>
float Acts::SpacePointProxy< read_only >::varianceZ ( ) const
noexcept

Const access to the variance z of the space point.

Returns
Value of the variance z of the space point.

◆ varianceZ() [2/2]

template<bool read_only>
float & Acts::SpacePointProxy< read_only >::varianceZ ( ) const
noexcept

Mutable access to the variance z of the space point.

Returns
A mutable reference to the variance z of the space point.

◆ varianceZR() [1/2]

template<bool read_only>
const std::array< float, 2 > & Acts::SpacePointProxy< read_only >::varianceZR ( ) const
noexcept

Const access to the ZR coordinate variances.

Returns
A const reference to array containing [var_z, var_r] variances

◆ varianceZR() [2/2]

template<bool read_only>
std::array< float, 2 > & Acts::SpacePointProxy< read_only >::varianceZR ( ) const
noexcept

Mutable access to the ZR coordinate variances of the space point.

Returns
A mutable reference to array containing [var_z, var_r] variances

◆ x() [1/2]

template<bool read_only>
float Acts::SpacePointProxy< read_only >::x ( ) const
noexcept

Const access to the x coordinate of the space point.

Returns
The x coordinate of the space point.

◆ x() [2/2]

template<bool read_only>
float & Acts::SpacePointProxy< read_only >::x ( ) const
noexcept

Mutable access to the x coordinate of the space point.

Returns
A mutable reference to the x coordinate of the space point.

◆ xy() [1/2]

template<bool read_only>
const std::array< float, 2 > & Acts::SpacePointProxy< read_only >::xy ( ) const
noexcept

Const access to the XY coordinates of the space point.

Returns
A const reference to array containing [x, y] coordinates

◆ xy() [2/2]

template<bool read_only>
std::array< float, 2 > & Acts::SpacePointProxy< read_only >::xy ( ) const
noexcept

Mutable access to the XY coordinates of the space point.

Returns
A mutable reference to array containing [x, y] coordinates

◆ xyz() [1/2]

template<bool read_only>
const std::array< float, 3 > & Acts::SpacePointProxy< read_only >::xyz ( ) const
noexcept

Const access to the XYZ coordinates of the space point.

Returns
A const reference to array containing [x, y, z] coordinates

◆ xyz() [2/2]

template<bool read_only>
std::array< float, 3 > & Acts::SpacePointProxy< read_only >::xyz ( ) const
noexcept

Mutable access to the XYZ coordinates of the space point.

Returns
A mutable reference to array containing [x, y, z] coordinates

◆ xyzr() [1/2]

template<bool read_only>
const std::array< float, 4 > & Acts::SpacePointProxy< read_only >::xyzr ( ) const
noexcept

Const access to the XYZR coordinates of the space point.

Returns
A const reference to array containing [x, y, z, r] coordinates

◆ xyzr() [2/2]

template<bool read_only>
std::array< float, 4 > & Acts::SpacePointProxy< read_only >::xyzr ( ) const
noexcept

Mutable access to the XYZR coordinates of the space point.

Returns
A mutable reference to array containing [x, y, z, r] coordinates

◆ y() [1/2]

template<bool read_only>
float Acts::SpacePointProxy< read_only >::y ( ) const
noexcept

Const access to the y coordinate of the space point.

Returns
The y coordinate of the space point.

◆ y() [2/2]

template<bool read_only>
float & Acts::SpacePointProxy< read_only >::y ( ) const
noexcept

Mutable access to the y coordinate of the space point.

Returns
A mutable reference to the y coordinate of the space point.

◆ z() [1/2]

template<bool read_only>
float Acts::SpacePointProxy< read_only >::z ( ) const
noexcept

Const access to the z coordinate of the space point.

Returns
The z coordinate of the space point.

◆ z() [2/2]

template<bool read_only>
float & Acts::SpacePointProxy< read_only >::z ( ) const
noexcept

Mutable access to the z coordinate of the space point.

Returns
A mutable reference to the z coordinate of the space point.

◆ zr() [1/2]

template<bool read_only>
const std::array< float, 2 > & Acts::SpacePointProxy< read_only >::zr ( ) const
noexcept

Const access to the ZR coordinates of the space point.

Returns
A const reference to array containing [z, r] coordinates

◆ zr() [2/2]

template<bool read_only>
std::array< float, 2 > & Acts::SpacePointProxy< read_only >::zr ( ) const
noexcept

Mutable access to the ZR coordinates of the space point.

Returns
A mutable reference to array containing [z, r] coordinates