Class ConeSurface¶
Defined in File ConeSurface.hpp
Inheritance Relationships¶
Base Type¶
public Acts::Surface
(Class Surface)
Derived Type¶
public Acts::ConeLayer
(Class ConeLayer)
Class Documentation¶
-
class
Acts
::
ConeSurface
: public Acts::Surface¶ Class for a conical surface in the Tracking geometry.
It inherits from Surface.
The ConeSurface is special since no corresponding Track parameters exist since they’re numerical instable at the tip of the cone. Propagations to a cone surface will be returned in curvilinear coordinates.
Subclassed by Acts::ConeLayer
Public Functions
-
ConeSurface
() = delete¶
-
~ConeSurface
() override = default¶
-
AlignmentToPathMatrix
alignmentToPathDerivative
(const GeometryContext &gctx, const FreeVector ¶meters) const final¶ Calculate the derivative of path length at the geometry constraint or point-of-closest-approach w.r.t.
alignment parameters of the surface (i.e. local frame origin in global 3D Cartesian coordinates and its rotation represented with extrinsic Euler angles)
- Return
Derivative of path length w.r.t. the alignment parameters
- Parameters
gctx
: The current geometry context object, e.g. alignmentparameters
: is the free parameters
-
Vector3
binningPosition
(const GeometryContext &gctx, BinningValue bValue) const final¶ The binning position method - is overloaded for r-type binning.
- Return
The return type is a vector for positioning in the global frame
- Parameters
gctx
: The current geometry context object, e.g. alignmentbValue
: defines the type of binning applied in the global frame
-
const ConeBounds &
bounds
() const final¶ This method returns the ConeBounds by reference.
-
Result<Vector2>
globalToLocal
(const GeometryContext &gctx, const Vector3 &position, const Vector3 &momentum, double tolerance = s_onSurfaceTolerance) const final¶ Global to local transformation.
- Return
a Result<Vector2> which can be !ok() if the operation fails
- Parameters
gctx
: The current geometry context object, e.g. alignmentposition
: is the global position to be transformedmomentum
: is the global momentum (ignored in this operation)tolerance
: optional tolerance within which a point is considered valid on surface
-
SurfaceIntersection
intersect
(const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction, const BoundaryCheck &bcheck) const final¶ Straight line intersection schema from position/direction.
If possible returns both solutions for the cylinder
- Parameters
gctx
: The current geometry context object, e.g. alignmentposition
: The position to start fromdirection
: The direction at startbcheck
: the Boundary Check
- Return
SurfaceIntersection object (contains intersection & surface)
-
ActsMatrix<2, 3>
localCartesianToBoundLocalDerivative
(const GeometryContext &gctx, const Vector3 &position) const final¶ Calculate the derivative of bound track parameters local position w.r.t.
position in local 3D Cartesian coordinates
- Return
Derivative of bound local position w.r.t. position in local 3D cartesian coordinates
- Parameters
gctx
: The current geometry context object, e.g. alignmentposition
: The position of the paramters in global
-
Vector3
localToGlobal
(const GeometryContext &gctx, const Vector2 &lposition, const Vector3 &momentum) const final¶ Local to global transformation.
- Return
The global position by value
- Parameters
gctx
: The current geometry context object, e.g. alignmentlposition
: is the local position to be transformedmomentum
: is the global momentum (ignored in this operation)
-
std::string
name
() const override¶ Return properly formatted class name for screen output.
-
Vector3
normal
(const GeometryContext &gctx, const Vector2 &lposition) const final¶ Return method for surface normal information.
- Return
Vector3 normal vector in global frame
- Parameters
gctx
: The current geometry context object, e.g. alignmentlposition
: is the local position at normal vector request
-
Vector3
normal
(const GeometryContext &gctx, const Vector3 &position) const final¶ Return method for surface normal information.
- Return
Vector3 normal vector in global frame
- Parameters
gctx
: The current geometry context object, e.g. alignmentposition
: is the global position as normal vector base
-
ConeSurface &
operator=
(const ConeSurface &other)¶ Assignment operator.
- Parameters
other
: is the source surface for the assignment
-
double
pathCorrection
(const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction) const final¶ The pathCorrection for derived classes with thickness.
- Return
is the path correction due to incident angle
- Parameters
gctx
: The current geometry context object, e.g. alignmentposition
: is the global potion at the correction pointdirection
: is the momentum direction at the correction point
-
Polyhedron
polyhedronRepresentation
(const GeometryContext &gctx, size_t lseg) const override¶ Return a Polyhedron for the surfaces.
- Note
that a surface transform can invalidate the extrema in the transformed space
- Return
A list of vertices and a face/facett description of it
- Parameters
gctx
: The current geometry context object, e.g. alignmentlseg
: Number of segments along curved lines, it represents the full 2*M_PI coverange, if lseg is set to 1 only the extrema are given
-
RotationMatrix3
referenceFrame
(const GeometryContext &gctx, const Vector3 &position, const Vector3 &momentum) const final¶ Return the measurement frame - this is needed for alignment, in particular for StraightLine and Perigee Surface.
the default implementation is the the RotationMatrix3 of the transform
- Return
matrix that indicates the measurement frame
- Parameters
gctx
: The current geometry context object, e.g. alignmentposition
: is the global position where the measurement frame is constructedmomentum
: is the momentum used for the measurement frame construction
-
Vector3
rotSymmetryAxis
(const GeometryContext &gctx) const¶ - Parameters
gctx
: The current geometry context object, e.g. alignment
-
SurfaceType
type
() const override¶ Return the surface type.
Protected Functions
-
ConeSurface
(const Transform3 &transform, double alpha, bool symmetric = false)¶ Constructor form HepTransform and an opening angle.
- Parameters
transform
: is the transform to place to cone in a 3D framealpha
: is the opening angle of the conesymmetric
: indicates if the cones are built to +/1 z
-
ConeSurface
(const Transform3 &transform, double alpha, double zmin, double zmax, double halfPhi = M_PI)¶ Constructor form HepTransform and an opening angle.
- Parameters
transform
: is the transform that places the cone in the global framealpha
: is the opening angle of the conezmin
: is the z range over which the cone spanszmax
: is the z range over which the cone spanshalfPhi
: is the openen angle for cone ssectors
Constructor from HepTransform and ConeBounds.
- Parameters
transform
: is the transform that places the cone in the global framecbounds
: is the boundary class, the bounds must exit
-
ConeSurface
(const ConeSurface &other)¶ Copy constructor.
- Parameters
other
: is the source cone surface
-
ConeSurface
(const GeometryContext &gctx, const ConeSurface &other, const Transform3 &shift)¶ Copy constructor - with shift.
- Parameters
gctx
: The current geometry context object, e.g. alignmentother
: is the source cone surfaceshift
: is the additional transfrom applied after copying
Protected Attributes
-
std::shared_ptr<const ConeBounds>
m_bounds
¶ bounds (shared)
-