ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::SpacePointUtility Class Reference

#include <Acts/Utilities/SpacePointUtility.hpp>

Public Member Functions

 SpacePointUtility (SpacePointBuilderConfig cfg)
 Constructor.
Result< double > calcPerpendicularProjection (const std::pair< Vector3, Vector3 > &stripEnds1, const std::pair< Vector3, Vector3 > &stripEnds2, SpacePointParameters &spParams) const
 Calculates a space point without using the vertex.
Vector2 calcRhoZVars (const GeometryContext &gctx, const SourceLink &slinkFront, const SourceLink &slinkBack, const SourceLinkSurfaceAccessor &surfaceAccessor, const ParamCovAccessor &paramCovAccessor, const Vector3 &globalPos, const double theta) const
 Calculate the rho and z covariance from the front and back SourceLink in the strip SP formation.
Result< void > calculateStripSPPosition (const std::pair< Vector3, Vector3 > &stripEnds1, const std::pair< Vector3, Vector3 > &stripEnds2, const Vector3 &posVertex, SpacePointParameters &spParams, const double stripLengthTolerance) const
 This function performs a straight forward calculation of a space point and returns whether it was successful or not.
Result< double > differenceOfMeasurementsChecked (const Vector3 &pos1, const Vector3 &pos2, const Vector3 &posVertex, const double maxDistance, const double maxAngleTheta2, const double maxAnglePhi2) const
 Calculates (Delta theta)^2 + (Delta phi)^2 between two SourceLinks.
std::tuple< Vector3, std::optional< double >, Vector2, std::optional< double > > globalCoords (const GeometryContext &gctx, const SourceLink &slink, const SourceLinkSurfaceAccessor &surfaceAccessor, const BoundVector &par, const BoundSquareMatrix &cov) const
 Getter method for the global coordinates of a SourceLink.
Result< void > recoverSpacePoint (SpacePointParameters &spParams, double stripLengthGapTolerance) const
 This function tests if a space point can be estimated by a more tolerant treatment of construction.
Vector2 rhoZCovariance (const GeometryContext &gctx, const Surface &surface, const Vector3 &globalPos, const SquareMatrix2 &localCov) const
 Get rho and z covariance from the local position and covariance.

Constructor & Destructor Documentation

◆ SpacePointUtility()

Acts::SpacePointUtility::SpacePointUtility ( SpacePointBuilderConfig cfg)
explicit

Constructor.

Member Function Documentation

◆ calcPerpendicularProjection()

Result< double > Acts::SpacePointUtility::calcPerpendicularProjection ( const std::pair< Vector3, Vector3 > & stripEnds1,
const std::pair< Vector3, Vector3 > & stripEnds2,
SpacePointParameters & spParams ) const

Calculates a space point without using the vertex.

Note
This is mostly to resolve space points from cosmic data
Parameters
stripEnds1The ends of one strip
stripEnds2The ends of another strip
spParamsSpacePointParamaters for the SP
Returns
parameter that indicates the location of the space point; returns
  1. if it failed
Note
The meaning of the parameter is explained in more detail in the function body

◆ calcRhoZVars()

Vector2 Acts::SpacePointUtility::calcRhoZVars ( const GeometryContext & gctx,
const SourceLink & slinkFront,
const SourceLink & slinkBack,
const SourceLinkSurfaceAccessor & surfaceAccessor,
const ParamCovAccessor & paramCovAccessor,
const Vector3 & globalPos,
const double theta ) const

Calculate the rho and z covariance from the front and back SourceLink in the strip SP formation.

Parameters
gctxThe current geometry context object, e.g. alignment
slinkFrontThe SourceLink on the front layer
slinkBackThe SourceLink on the back layer
paramCovAccessorfunction to extract local position and covariance from SourceLink
surfaceAccessorfunction to extract surface from SourceLink
globalPosglobal position
thetaThe angle between the two strips
Returns
(rho, z) components of the global covariance

◆ calculateStripSPPosition()

Result< void > Acts::SpacePointUtility::calculateStripSPPosition ( const std::pair< Vector3, Vector3 > & stripEnds1,
const std::pair< Vector3, Vector3 > & stripEnds2,
const Vector3 & posVertex,
SpacePointParameters & spParams,
const double stripLengthTolerance ) const

This function performs a straight forward calculation of a space point and returns whether it was successful or not.

Parameters
[in]stripEnds1Top and bottom end of the first strip
[in]stripEnds2Top and bottom end of the second strip
[in]posVertexPosition of the vertex
[in,out]spParamsData container of the calculations
[in]stripLengthToleranceTolerance scaling factor on the strip detector element length
Returns
Result whether the space point calculation was successful

◆ differenceOfMeasurementsChecked()

Result< double > Acts::SpacePointUtility::differenceOfMeasurementsChecked ( const Vector3 & pos1,
const Vector3 & pos2,
const Vector3 & posVertex,
const double maxDistance,
const double maxAngleTheta2,
const double maxAnglePhi2 ) const

Calculates (Delta theta)^2 + (Delta phi)^2 between two SourceLinks.

Parameters
[in]pos1position of the first SourceLink
[in]pos2position the second SourceLink
[in]posVertexPosition of the vertex
[in]maxDistanceMaximum distance between two SourceLinks
[in]maxAngleTheta2Maximum squared theta angle between two SourceLinks
[in]maxAnglePhi2Maximum squared phi angle between two SourceLinks
Returns
Result with the squared sum within configuration parameters.

◆ globalCoords()

std::tuple< Vector3, std::optional< double >, Vector2, std::optional< double > > Acts::SpacePointUtility::globalCoords ( const GeometryContext & gctx,
const SourceLink & slink,
const SourceLinkSurfaceAccessor & surfaceAccessor,
const BoundVector & par,
const BoundSquareMatrix & cov ) const

Getter method for the global coordinates of a SourceLink.

Parameters
gctxThe current geometry context object, e.g. alignment
slinkSourceLink that holds the necessary information
surfaceAccessorfunction to extract surface from SourceLink
parlocal position
covlocal covariance
Returns
vectors of the global coordinates and covariance of the SourceLink

◆ recoverSpacePoint()

Result< void > Acts::SpacePointUtility::recoverSpacePoint ( SpacePointParameters & spParams,
double stripLengthGapTolerance ) const

This function tests if a space point can be estimated by a more tolerant treatment of construction.

In fact, this function indirectly allows shifts of the vertex.

Parameters
[in]spParamscontainer that stores geometric parameters and rules of the space point formation
[in]stripLengthGapToleranceTolerance scaling factor of the gap between strip detector elements
Returns
indicator if the test was successful

◆ rhoZCovariance()

Vector2 Acts::SpacePointUtility::rhoZCovariance ( const GeometryContext & gctx,
const Surface & surface,
const Vector3 & globalPos,
const SquareMatrix2 & localCov ) const

Get rho and z covariance from the local position and covariance.

Parameters
gctxThe current geometry context object, e.g. alignment
surfaceThe surface associated
globalPosThe global position
localCovThe local covariance matrix
Returns
(rho, z) components of the global covariance