Class CylinderBounds

Inheritance Relationships

Base Type

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

enum BoundValues

Values:

enumerator eR
enumerator eHalfLengthZ
enumerator eHalfPhiSector
enumerator eAveragePhi
enumerator eSize

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 cylinder

  • halfZ: The half length in z

  • halfPhi: The half opening angle

  • avgPhi: (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 get(BoundValues bValue) const

Access to the bound values.

Parameters
  • bValue: the class nested enum for the array access

bool inside(const Vector2 &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 Vector3 &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 frame

  • bcheck: 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