File EllipseBounds.hpp¶
-
namespace Acts
Note
This file is foreseen for the
Geometry
module to replaceExtent
-
class EllipseBounds : public Acts::PlanarBounds
- #include <Acts/Surfaces/EllipseBounds.hpp>
Class to describe the bounds for a planar ellispoid surface.
By providing an argument for hphisec, the bounds can be restricted to a phi-range around the center position.
Public Types
-
enum BoundValues
Values:
-
enumerator eInnerRx
-
enumerator eInnerRy
-
enumerator eOuterRx
-
enumerator eOuterRy
-
enumerator eHalfPhiSector
-
enumerator eAveragePhi
-
enumerator eSize
-
enumerator eInnerRx
Public Functions
-
EllipseBounds() = delete
-
inline EllipseBounds(double innerRx, double innerRy, double outerRx, double outerRy, double halfPhi = M_PI, double averagePhi = 0.) noexcept(false)
Constructor for full of an ellipsoid ring.
- Parameters
innerRx – The inner ellipse radius in x
innerRy – The inner ellipse radius in y
outerRx – The outer ellipse radius in x
outerRy – The outer ellipse radius in y
halfPhi – spanning phi sector (is set to pi as default)
averagePhi – average phi (is set to 0. as default)
-
inline EllipseBounds(const std::array<double, eSize> &values) noexcept(false)
Constructor - from fixed size array.
- Parameters
values – The parameter values
-
~EllipseBounds() override = default
-
virtual const RectangleBounds &boundingBox() const final
Bounding box parameters.
- Returns
rectangle bounds for a bounding box
-
inline double get(BoundValues bValue) const
Access to the bound values.
- Parameters
bValue – the class nested enum for the array access
-
virtual bool inside(const Vector2 &lposition, const BoundaryCheck &bcheck) const final
This method checks if the point given in the local coordinates is between two ellipsoids if only tol0 is given and additional in the phi sector is tol1 is given.
- Parameters
lposition – Local position (assumed to be in right surface frame)
bcheck – boundary check directive
- Returns
boolean indicator for the success of this operation
-
virtual std::ostream &toStream(std::ostream &sl) const final
Output Method for std::ostream.
-
virtual BoundsType type() const final
Return the bounds type - for persistency optimization.
- Returns
is a BoundsType enum
-
inline virtual std::vector<double> values() const final
Return the bound values as dynamically sized vector.
- Returns
this returns a copy of the internal values
-
virtual std::vector<Vector2> vertices(unsigned int lseg) const final
Return the vertices.
Note
the number of segements to may be altered by also providing the extremas in all direction
- Parameters
lseg – the number of segments used to approximate and eventually curved line, here it refers to the full 2PI Ellipse
- Returns
vector for vertices in 2D
Private Functions
-
inline void checkConsistency() noexcept(false)¶
Check the input values for consistency, will throw a logic_exception if consistency is not given.
-
enum BoundValues
-
class EllipseBounds : public Acts::PlanarBounds