Class PlaneSurface¶
Defined in File PlaneSurface.hpp
Inheritance Relationships¶
Base Type¶
public Acts::Surface
(Class Surface)
Derived Type¶
public Acts::PlaneLayer
(Class PlaneLayer)
Class Documentation¶
-
class
Acts
::
PlaneSurface
: public Acts::Surface¶ Class for a planaer in the TrackingGeometry.
The PlaneSurface extends the Surface class with the possibility to convert local to global positions (vice versa).
Subclassed by Acts::PlaneLayer
Public Functions
-
PlaneSurface
() = delete¶
-
~PlaneSurface
() override = default¶
-
Vector3
binningPosition
(const GeometryContext &gctx, BinningValue bValue) const final¶ The binning position is the position calcualted for a certain binning type.
- Return
position that can beused for this binning
- Parameters
gctx
: The current geometry context object, e.g. alignmentbValue
: is the binning type to be used
-
const SurfaceBounds &
bounds
() const override¶ Return method for bounds object of this surfrace.
-
Result<Vector2>
globalToLocal
(const GeometryContext &gctx, const Vector3 &position, const Vector3 &momentum, double tolerance = s_onSurfaceTolerance) const override¶ Global to local transformation For planar surfaces the momentum is ignroed in the 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
: global 3D position - considered to be on surface but not inside bounds (check is done)momentum
: global 3D momentum representation (optionally ignored) method symmetry)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 = false) const final¶ Straight line intersection.
mathematical motivation:
- Note
expected to be normalized)
- Parameters
gctx
: The current geometry context object, e.g. alignmentposition
: The start position of the intersection attemptdirection
: The direction of the interesection attempt, (
- Parameters
bcheck
: The boundary check directive
the equation of the plane is given by: \( \vec n \cdot \vec x = \vec n \cdot \vec p,\)
where
\( \vec n = (n_{x}, n_{y}, n_{z})\) denotes the normal vector of the plane, \( \vec p = (p_{x}, p_{y}, p_{z})\) one specific point on the plane and \( \vec x = (x,y,z) \) all possible points on the plane.Given a line with:\( \vec l(u) = \vec l_{1} + u \cdot \vec v \),
the solution for
\( u \) can be written: \( u = \frac{\vec n (\vec p - \vec l_{1})}{\vec n \vec v}\)If the denominator is 0 then the line lies:
either in the plane
perpendicular to the normal of the plane
- Return
the SurfaceIntersection object
-
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 override¶ Local to global transformation For planar surfaces the momentum is ignroed in the local to global transformation.
- Return
the global position by value
- Parameters
gctx
: The current geometry context object, e.g. alignmentlposition
: local 2D position in specialized surface framemomentum
: global 3D momentum representation (optionally ignored)
-
std::string
name
() const override¶ Return properly formatted class name for screen output.
-
Vector3
normal
(const GeometryContext &gctx, const Vector2 &lposition) const final¶ Normal vector return.
return a Vector3 by value
- Parameters
gctx
: The current geometry context object, e.g. alignmentlposition
: is the local position is ignored
-
PlaneSurface &
operator=
(const PlaneSurface &other)¶ Assignment operator.
- Parameters
other
: The source PlaneSurface for assignment
-
double
pathCorrection
(const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction) const final¶ Method that calculates the correction due to incident angle.
- Note
this is the final implementation of the pathCorrection function
- Return
a double representing the scaling factor
- Parameters
position
: global 3D position - considered to be on surface but not inside bounds (check is done)direction
: global 3D momentum direction (ignored for PlaneSurface)
-
Polyhedron
polyhedronRepresentation
(const GeometryContext &gctx, size_t lseg) const override¶ Return a Polyhedron for the surfaces.
- 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
-
SurfaceType
type
() const override¶ Return the surface type.
Protected Functions
-
PlaneSurface
(const PlaneSurface &other)¶ Copy Constructor.
- Parameters
psf
: is the source surface for the copy
-
PlaneSurface
(const GeometryContext &gctx, const PlaneSurface &other, const Transform3 &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
-
PlaneSurface
(const Vector3 ¢er, const Vector3 &normal)¶ Dedicated Constructor with normal vector This is for curvilinear surfaces which are by definition boundless.
- Parameters
center
: is the center position of the surfacenormal
: is thenormal vector of the plane surface
Constructor from DetectorElementBase : Element proxy.
- Parameters
pbounds
: are the provided planar bounds (shared)detelement
: is the linked detector element to this surface
Constructor for Planes with (optional) shared bounds object.
- Parameters
htrans
: transform in 3D that positions this surfacepbounds
: bounds object to describe the actual surface area
Protected Attributes
-
std::shared_ptr<const PlanarBounds>
m_bounds
¶ the bounds of this surface
-