Class Acts::EllipseBounds¶
-
class EllipseBounds : public Acts::PlanarBounds¶
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
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
-
EllipseBounds() = delete¶