Class Acts::CylinderSurface¶
-
class Acts::CylinderSurface : public Acts::Surface¶
Class for a CylinderSurface in the TrackingGeometry.
It inherits from Surface.
The cylinder surface has a special role in the TrackingGeometry, since it builds the surfaces of all TrackingVolumes at container level for a cylindrical tracking geometry.
Subclassed by Acts::CylinderLayer
Public Functions
-
CylinderSurface() = delete¶
-
~CylinderSurface() override = default¶
-
virtual 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)
- Parameters
gctx – The current geometry context object, e.g. alignment
parameters – is the free parameters
- Returns
Derivative of path length w.r.t. the alignment parameters
-
virtual Vector3 binningPosition(const GeometryContext &gctx, BinningValue bValue) const final¶
The binning position method - is overloaded for r-type binning.
- Parameters
gctx – The current geometry context object, e.g. alignment
bValue – is the type of global binning to be done
- Returns
is the global position to be used for binning
-
virtual const CylinderBounds &bounds() const final¶
This method returns the CylinderBounds by reference.
-
virtual Result<Vector2> globalToLocal(const GeometryContext &gctx, const Vector3 &position, const Vector3 &momentum, double tolerance = s_onSurfaceTolerance) const final¶
Global to local transformation.
- Parameters
gctx – The current geometry context object, e.g. alignment
position – is the global position to be transformed
momentum – is the global momentum (ignored in this operation)
tolerance – optional tolerance within which a point is considered valid on surface
- Returns
a Result<Vector2> which can be !ok() if the operation fails
-
virtual 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. alignment
position – The position to start from
direction – The direction at start
bcheck – the Boundary Check
- Returns
SurfaceIntersection object (contains intersection & surface)
-
virtual 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
- Parameters
gctx – The current geometry context object, e.g. alignment
position – The position of the paramters in global
- Returns
Derivative of bound local position w.r.t. position in local 3D cartesian coordinates
-
virtual Vector3 localToGlobal(const GeometryContext &gctx, const Vector2 &lposition, const Vector3 &momentum) const final¶
Local to global transformation.
- Parameters
gctx – The current geometry context object, e.g. alignment
lposition – is the local position to be transformed
momentum – is the global momentum (ignored in this operation)
- Returns
The global position by value
-
virtual std::string name() const override¶
Return method for properly formatted output string.
-
virtual Vector3 normal(const GeometryContext &gctx, const Vector2 &lposition) const final¶
Return method for surface normal information.
Note
for a Cylinder a local position is always required for the normal vector
- Parameters
gctx – The current geometry context object, e.g. alignment
lposition – is the local postion for which the normal vector is requested
- Returns
normal vector at the local position by value
-
virtual Vector3 normal(const GeometryContext &gctx, const Vector3 &position) const final¶
Return method for surface normal information.
Note
for a Cylinder a local position is always required for the normal vector
- Parameters
gctx – The current geometry context object, e.g. alignment
position – is the global postion for which the normal vector is requested
- Returns
normal vector at the global position by value
-
CylinderSurface &operator=(const CylinderSurface &other)¶
Assignment operator.
- Parameters
other – is the source cylinder for the copy
-
virtual double pathCorrection(const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction) const final¶
Path correction due to incident of the track.
- Parameters
gctx – The current geometry context object, e.g. alignment
position – is the global position as a starting point
direction – is the global momentum at the starting point
- Returns
is the correction factor due to incident
-
virtual Polyhedron polyhedronRepresentation(const GeometryContext &gctx, size_t lseg) const override¶
Return a Polyhedron for a cylinder.
- Parameters
gctx – The current geometry context object, e.g. alignment
lseg – 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
- Returns
A list of vertices and a face/facett description of it
-
virtual RotationMatrix3 referenceFrame(const GeometryContext &gctx, const Vector3 &position, const Vector3 &momentum) const final¶
Return the measurement frame - this is needed for alignment, in particular The measurement frame of a cylinder is the tangential plane at a given position.
- Parameters
gctx – The current geometry context object, e.g. alignment
position – is the position where the measurement frame is defined
momentum – is the momentum vector (ignored)
- Returns
rotation matrix that defines the measurement frame
-
virtual Vector3 rotSymmetryAxis(const GeometryContext &gctx) const¶
Return method for the rotational symmetry axis.
- Parameters
gctx – The current geometry context object, e.g. alignment
- Returns
the z-Axis of transform
-
virtual SurfaceType type() const override¶
Return the surface type.
-
CylinderSurface() = delete¶