Class RectangleBounds

Inheritance Relationships

Base Type

Class Documentation

class Acts::RectangleBounds : public Acts::PlanarBounds

Bounds for a rectangular, planar surface - it can be used to for rectangles that are symetrically centered around (0.

/0.) and for generic shifted rectangles

Public Types

enum BoundValues

Values:

enumerator eMinX
enumerator eMinY
enumerator eMaxX
enumerator eMaxY
enumerator eSize

Public Functions

RectangleBounds() = delete
RectangleBounds(double halfX, double halfY) noexcept(false)

Constructor with halflength in x and y - symmetric.

Parameters
  • halfX: halflength in X

  • halfY: halflength in Y

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

Constructor - from fixed size array - generic.

Parameters
  • values: The parameter values

RectangleBounds(const Vector2 &min, const Vector2 &max) noexcept(false)

Constructor - from min/max - generic.

Parameters
  • min: The left bottom corner

  • max: The right top corning

~RectangleBounds() override = default
const RectangleBounds &boundingBox() const final

Bounding box parameters.

Return

rectangle bounds for a bounding box

double get(BoundValues bValue) const

Access to the bound values.

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

double halfLengthX() const

Access to the half length in X.

double halfLengthY() const

Access to the half length in Y.

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

const Vector2 &max() const

Get the max vertex defining the bounds.

Return

The max vertex

const Vector2 &min() const

Get the min vertex defining the bounds.

Return

The min vertex

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

Output Method for std::ostream.

Parameters
  • sl: is the ostream for the dump

BoundsType type() const final

Return the bounds type - for persistency optimization.

Return

is a BoundsType enum

std::vector<double> values() const final

Access method for bound values, this is a dynamically sized vector containing the parameters needed to describe these bounds.

Return

of the stored values for this SurfaceBounds object

std::vector<Vector2> vertices(unsigned int lseg = 1) const final

Return the vertices.

Note

the number of segements is ignored in this representation

Return

vector for vertices in 2D

Parameters
  • lseg: the number of segments used to approximate and eventually curved line