Class ConeBounds

Inheritance Relationships

Base Type

Class Documentation

class Acts::ConeBounds : public Acts::SurfaceBounds

Bounds for a conical surface, the opening angle is stored in \( \tan(\alpha) \) and always positively defined.

The cone can open to both sides, steered by \( z_min \) and \( z_max \).

_build/doxygen-xml/ConeBounds.gif

Public Types

enum BoundValues

Values:

enumerator eAlpha
enumerator eMinZ
enumerator eMaxZ
enumerator eHalfPhiSector
enumerator eAveragePhi
enumerator eSize

Public Functions

ConeBounds() = delete
ConeBounds(double alpha, bool symm, double halfphi = M_PI, double avphi = 0.) noexcept(false)

Constructor - open cone with alpha, by default a full cone but optionally can make a conical section.

Parameters
  • alpha: is the opening angle of the cone

  • symm: is the boolean indicating if the cone is symmetric in +/- z

  • halfphi: is the half opening angle (default is pi)

  • avphi: is the phi value around which the bounds are opened (default=0)

ConeBounds(double alpha, double minz, double maxz, double halfphi = M_PI, double avphi = 0.) noexcept(false)

Constructor - open cone with alpha, minz and maxz, by default a full cone but can optionally make it a conical section.

Parameters
  • alpha: is the opening angle of the cone

  • minz: cone expanding from minimal z

  • maxz: cone expanding to maximal z

  • halfphi: is the half opening angle (default is pi)

  • avphi: is the phi value around which the bounds are opened (default=0)

ConeBounds(const std::array<double, eSize> &values) noexcept(false)

Constructor - from parameters array.

Parameters
  • values: The parameter array

~ConeBounds() override = default
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 = true) const final

inside method for local position

Return

is a boolean indicating if the position is inside

Parameters
  • lposition: is the local position to be checked

  • bcheck: is the boundary check directive

double r(double z) const

Return the radius at a specific z values.

Return

is the r value associated with z

Parameters
  • z: is the z value for which r is requested

double tanAlpha() const

Return tangent of alpha (pre-computed)

std::ostream &toStream(std::ostream &sl) const final

Output Method for std::ostream.

Return

is the input obect

Parameters
  • sl: is the ostrea into which the dump is done

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