|
ACTS
Experiment-independent tracking
|
#include <Acts/Surfaces/RectangleBounds.hpp>
Public Types | |
| enum | BoundValues : int { eMinX = 0 , eMinY = 1 , eMaxX = 2 , eMaxY = 3 , eSize = 4 } |
| Enumeration for the bound values. More... | |
| Public Types inherited from Acts::SurfaceBounds | |
| enum | BoundsType : int { eCone = 0 , eCylinder = 1 , eDiamond = 2 , eDisc = 3 , eEllipse = 4 , eLine = 5 , eRectangle = 6 , eTrapezoid = 7 , eTriangle = 8 , eDiscTrapezoid = 9 , eConvexPolygon = 10 , eAnnulus = 11 , eBoundless = 12 , eOther = 13 } |
| This is nested to the SurfaceBounds, as also VolumeBounds will have Bounds Type. More... | |
Public Member Functions | |
| RectangleBounds (const std::array< double, eSize > &values) noexcept(false) | |
| Constructor - from fixed size array - generic. | |
| RectangleBounds (const Vector2 &min, const Vector2 &max) noexcept(false) | |
| Constructor - from min/max - generic. | |
| RectangleBounds (double halfX, double halfY) noexcept(false) | |
| Constructor with halflength in x and y - symmetric. | |
| const RectangleBounds & | boundingBox () const final |
| Bounding box parameters. | |
| Vector2 | center () const final |
| Calculate the center of the surface bounds in local coordinates. | |
| Vector2 | closestPoint (const Vector2 &lposition, const SquareMatrix2 &metric) const final |
| Calculates the closest point on the bounds to a given local position. | |
| double | get (BoundValues bValue) const |
| Access to the bound values. | |
| 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 final |
| Inside check for the bounds object. | |
| virtual bool | inside (const Vector2 &lposition, const BoundaryTolerance &boundaryTolerance) const |
| Inside check for the bounds object given a boundary tolerance. | |
| const Vector2 & | max () const |
| Get the max vertex defining the bounds. | |
| const Vector2 & | min () const |
| Get the min vertex defining the bounds. | |
| std::ostream & | toStream (std::ostream &sl) const final |
| Output Method for std::ostream. | |
| BoundsType | type () const final |
| Return the bounds type - for persistency optimization. | |
| 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. | |
| std::vector< Vector2 > | vertices (unsigned int quarterSegments=0u) const final |
| Return the vertices. | |
| Public Member Functions inherited from Acts::PlanarBounds | |
| SquareMatrix2 | boundToCartesianJacobian (const Vector2 &lposition) const final |
| Computes the bound to cartesian jacobian at a given local position. | |
| SquareMatrix2 | boundToCartesianMetric (const Vector2 &lposition) const final |
| Computes the bound to cartesian metric at a given local position. | |
| bool | isCartesian () const final |
| Check if the bound coordinates are cartesian. | |
| Public Member Functions inherited from Acts::SurfaceBounds | |
| virtual | ~SurfaceBounds ()=default |
| virtual double | distance (const Vector2 &lposition) const |
| Calculates the distance to the bounds from a given local position. | |
Bounds for a rectangular, planar surface - it can be used to for rectangles that are symmetrically centered around (0./0.) and for generic shifted rectangles
| enum Acts::RectangleBounds::BoundValues : int |
| Acts::RectangleBounds::RectangleBounds | ( | double | halfX, |
| double | halfY ) |
Constructor with halflength in x and y - symmetric.
| halfX | halflength in X |
| halfY | halflength in Y |
|
explicitnoexcept |
Constructor - from fixed size array - generic.
| values | The parameter values |
Constructor - from min/max - generic.
| min | The left bottom corner |
| max | The right top corning |
|
finalvirtual |
|
finalvirtual |
Calculate the center of the surface bounds in local coordinates.
This method returns a representative center point of the bounds region. The exact definition varies by bounds type and coordinate system:
Cartesian bounds (Rectangle, Diamond, Trapezoid):
Polar/Cylindrical bounds (Radial, Cylinder, Cone):
Complex bounds (Annulus, ConvexPolygon):
Infinite bounds: Returns conceptual center at (0,0)
Implements Acts::SurfaceBounds.
|
finalvirtual |
Calculates the closest point on the bounds to a given local position.
| lposition | is the local position |
| metric | to be used for the distance calculation |
Implements Acts::SurfaceBounds.
| double Acts::RectangleBounds::get | ( | BoundValues | bValue | ) | const |
Access to the bound values.
| bValue | the class nested enum for the array access |
| double Acts::RectangleBounds::halfLengthX | ( | ) | const |
Access to the half length in X.
| double Acts::RectangleBounds::halfLengthY | ( | ) | const |
Access to the half length in Y.
|
finalvirtual |
Inside check for the bounds object.
| lposition | is the local position |
Implements Acts::SurfaceBounds.
|
virtual |
Inside check for the bounds object given a boundary tolerance.
| lposition | is the local position |
| boundaryTolerance | is the boundary tolerance object |
Reimplemented from Acts::SurfaceBounds.
| const Vector2 & Acts::RectangleBounds::max | ( | ) | const |
Get the max vertex defining the bounds.
| const Vector2 & Acts::RectangleBounds::min | ( | ) | const |
Get the min vertex defining the bounds.
|
finalvirtual |
Output Method for std::ostream.
| sl | is the ostream for the dump |
Implements Acts::SurfaceBounds.
|
finalvirtual |
Return the bounds type - for persistency optimization.
Implements Acts::SurfaceBounds.
|
finalvirtual |
Access method for bound values, this is a dynamically sized vector containing the parameters needed to describe these bounds.
Implements Acts::SurfaceBounds.
|
finalvirtual |
Return the vertices.
| quarterSegments | is the number of segments used to describe curved segments in a quarter of the phi range. |
Implements Acts::PlanarBounds.