ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::CurvilinearSurface Class Referencefinal

Utility class for curvilinear surfaces. More...

#include <Acts/Surfaces/CurvilinearSurface.hpp>

Public Member Functions

 CurvilinearSurface (const Vector3 &direction)
 Constructor with direction vector.
 CurvilinearSurface (const Vector3 &position, const Vector3 &direction)
 Constructor with direction vector.
BoundToFreeMatrix boundToFreeJacobian () const
 Calculate the jacobian from local to global which the surface knows best, hence the calculation is done here.
Vector3 center () const
 Return method for the surface center by reference.
FreeToBoundMatrix freeToBoundJacobian () const
 Calculate the jacobian from global to local which the surface knows best, hence the calculation is done here.
FreeToPathMatrix freeToPathDerivative () const
 Calculate the derivative of path length at the geometry constraint or point-of-closest-approach w.r.t.
bool isStandardRepresentation () const
 Check if this curvilinear surface uses standard representation.
Vector3 normal () const
 Return the surface normal at a given position and direction.
std::shared_ptr< PlaneSurfaceplaneSurface () const
 Return the plane surface representation of the curvilinear surface.
RotationMatrix3 referenceFrame () const
 Return method for the reference frame This is the frame in which the covariance matrix is defined (specialized by all surfaces).
std::shared_ptr< Surfacesurface () const
 Return the surface representation of the curvilinear surface.
std::ostream & toStream (std::ostream &sl) const
 Output Method for std::ostream.
std::string toString () const
 Output into a std::string.
Transform3 transform () const
 Return method for the surface Transform3 by reference In case a detector element is associated the surface transform is just forwarded to the detector element in order to keep the (mis-)alignment cache cetrally handled.

Detailed Description

Utility class for curvilinear surfaces.

Constructor & Destructor Documentation

◆ CurvilinearSurface() [1/2]

Acts::CurvilinearSurface::CurvilinearSurface ( const Vector3 & direction)
explicit

Constructor with direction vector.

Parameters
directionThe direction vector of the curvilinear surface

◆ CurvilinearSurface() [2/2]

Acts::CurvilinearSurface::CurvilinearSurface ( const Vector3 & position,
const Vector3 & direction )

Constructor with direction vector.

Parameters
positionThe position of the curvilinear surface
directionThe direction vector of the curvilinear surface

Member Function Documentation

◆ boundToFreeJacobian()

BoundToFreeMatrix Acts::CurvilinearSurface::boundToFreeJacobian ( ) const

Calculate the jacobian from local to global which the surface knows best, hence the calculation is done here.

Returns
Jacobian from local to global

◆ center()

Vector3 Acts::CurvilinearSurface::center ( ) const

Return method for the surface center by reference.

Note
the center is always recalculated in order to not keep a cache
Returns
center position by value

◆ freeToBoundJacobian()

FreeToBoundMatrix Acts::CurvilinearSurface::freeToBoundJacobian ( ) const

Calculate the jacobian from global to local which the surface knows best, hence the calculation is done here.

Returns
Jacobian from global to local

◆ freeToPathDerivative()

FreeToPathMatrix Acts::CurvilinearSurface::freeToPathDerivative ( ) const

Calculate the derivative of path length at the geometry constraint or point-of-closest-approach w.r.t.

free parameters. The calculation is identical for all surfaces where the reference frame does not depend on the direction

Returns
Derivative of path length w.r.t. free parameters

◆ isStandardRepresentation()

bool Acts::CurvilinearSurface::isStandardRepresentation ( ) const

Check if this curvilinear surface uses standard representation.

Returns
True if using standard representation, false otherwise

◆ normal()

Vector3 Acts::CurvilinearSurface::normal ( ) const

Return the surface normal at a given position and direction.

This method is fully generic, and valid for all surface types.

Note
For some surface types, the direction is ignored, but it is not safe to pass in a zero vector!
Returns
The normal vector at the given position and direction

◆ planeSurface()

std::shared_ptr< PlaneSurface > Acts::CurvilinearSurface::planeSurface ( ) const

Return the plane surface representation of the curvilinear surface.

Returns
the plane surface representation of the curvilinear surface

◆ referenceFrame()

RotationMatrix3 Acts::CurvilinearSurface::referenceFrame ( ) const

Return method for the reference frame This is the frame in which the covariance matrix is defined (specialized by all surfaces).

Returns
RotationMatrix3 which defines the three axes of the measurement frame

◆ surface()

std::shared_ptr< Surface > Acts::CurvilinearSurface::surface ( ) const

Return the surface representation of the curvilinear surface.

Note
same as planeSurface() but returns the base class. This is useful if the type of the surface is not relevant.
Returns
the surface representation of the curvilinear surface

◆ toStream()

std::ostream & Acts::CurvilinearSurface::toStream ( std::ostream & sl) const

Output Method for std::ostream.

Parameters
slis the ostream to be dumped into
Returns
Reference to the output stream after writing

◆ toString()

std::string Acts::CurvilinearSurface::toString ( ) const

Output into a std::string.

Returns
the string representation of the curvilinear surface

◆ transform()

Transform3 Acts::CurvilinearSurface::transform ( ) const

Return method for the surface Transform3 by reference In case a detector element is associated the surface transform is just forwarded to the detector element in order to keep the (mis-)alignment cache cetrally handled.

Returns
the contextual transform