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¶ Default Constructor - deleted.
-
~ConeSurface
() override = default¶ Destructor - defaulted.
-
const Vector3D
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.
-
bool
globalToLocal
(const GeometryContext &gctx, const Vector3D &position, const Vector3D &momentum, Vector2D &lposition) const final¶ Global to local transformation.
- Return
is a boolean indicating if the transformation succeeded
- 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)lposition
: is the local position to be filled
-
SurfaceIntersection
intersect
(const GeometryContext &gctx, const Vector3D &position, const Vector3D &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)
-
Intersection
intersectionEstimate
(const GeometryContext &gctx, const Vector3D &position, const Vector3D &direction, const BoundaryCheck &bcheck = false) const final¶ Straight line intersection schema - provides closest intersection and (signed) path length.
- Return
is the Intersection object
- Parameters
gctx
: The current geometry context object, e.g. alignmentposition
: The start position for the intersectiondireciton
: The start direction for the intersection (expected normalized)bcheck
: The boundary check to be used in this directive
-
void
localToGlobal
(const GeometryContext &gctx, const Vector2D &lposition, const Vector3D &momentum, Vector3D &position) const final¶ Local to global transformation.
- 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)position
: is the global position which is filled
-
std::string
name
() const override¶ Return properly formatted class name for screen output.
-
const Vector3D
normal
(const GeometryContext &gctx, const Vector2D &lposition) const final¶ Return method for surface normal information.
- Return
Vector3D normal vector in global frame
- Parameters
gctx
: The current geometry context object, e.g. alignmentlposition
: is the local position at normal vector request
-
const Vector3D
normal
(const GeometryContext &gctx, const Vector3D &position) const final¶ Return method for surface normal information.
- Return
Vector3D 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 Vector3D &position, const Vector3D &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
-
const RotationMatrix3D
referenceFrame
(const GeometryContext &gctx, const Vector3D &position, const Vector3D &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 RotationMatrix3D 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
-
const Vector3D
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
Constructor form HepTransform and an opening angle.
- Parameters
htrans
: 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
Constructor form HepTransform and an opening angle.
- Parameters
htrans
: 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
htrans
: 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 Transform3D &transf)¶ Copy constructor - with shift.
- Parameters
gctx
: The current geometry context object, e.g. alignmentother
: is the source cone surfacetransf
: is the additional transfrom applied after copying
Protected Attributes
-
std::shared_ptr<const ConeBounds>
m_bounds
¶ bounds (shared)
-