Class CylinderBounds¶
Defined in File CylinderBounds.hpp
Inheritance Relationships¶
Base Type¶
public Acts::SurfaceBounds
(Class SurfaceBounds)
Class Documentation¶
-
class
Acts
::
CylinderBounds
: public Acts::SurfaceBounds¶ Bounds for a cylindrical Surface.
These bounds may be used for a CylinderSurface In case of bounds for a StraightLineSurface the radius determines the radius within a localPosition is regarded as inside bounds.
CylinderBounds also enhance the possibility of a cylinder segment with an opening angle \( 2\cdot\phi_{half}\) around an average \( \phi \) angle \( \phi_{ave} \).
Public Types
Public Functions
-
CylinderBounds
() = delete¶
-
CylinderBounds
(double r, double halfZ, double halfPhi = M_PI, double avgPhi = 0.) noexcept(false)¶ Constructor - full cylinder.
- Parameters
r
: The radius of the cylinderhalfZ
: The half length in zhalfPhi
: The half opening angleavgPhi
: (optional) The phi value from which the opening angle spans
-
CylinderBounds
(const std::array<double, eSize> &values) noexcept(false)¶ Constructor - from fixed size array.
- Parameters
values
: The parameter values
-
~CylinderBounds
() override = default¶
-
bool
coversFullAzimuth
() const¶ Returns true for full phi coverage.
-
double
distanceToBoundary
(const Vector2D &lposition) const final¶ Minimal distance to boundary ( > 0 if outside and <=0 if inside)
- Return
is a signed distance parameter
- Parameters
lposition
: is the local position to check for the distance
-
double
get
(BoundValues bValue) const¶ Access to the bound values.
- Parameters
bValue
: the class nested enum for the array access
-
bool
inside
(const Vector2D &lposition, const BoundaryCheck &bcheck) const final¶ Inside check for the bounds object driven by the boundary check directive Each Bounds has a method inside, which checks if a LocalPosition is inside the bounds Inside can be called without/with tolerances.
- Return
boolean indicator for the success of this operation
- Parameters
lposition
: Local position (assumed to be in right surface frame)bcheck
: boundary check directive
-
bool
inside3D
(const Vector3D &position, const BoundaryCheck &bcheck = true) const¶ Specialized method for CylinderBounds that checks if a global position is within the the cylinder cover.
- Return
boolean indicator for operation success
- Parameters
position
: is the position in the cylinder framebcheck
: is the boundary check directive
-
std::ostream &
toStream
(std::ostream &sl) const final¶ Output Method for std::ostream.
-
BoundsType
type
() const final¶ Return the bounds type - for persistency optimization.
- Return
is a BoundsType enum
-
std::vector<double>
values
() const final¶ Return the bound values as dynamically sized vector.
- Return
this returns a copy of the internal values
-