Class Acts::SurfaceBounds¶
-
class SurfaceBounds¶
Interface for surface bounds.
Surface bounds provide:
inside() checks
distance to boundary calculations
the BoundsType and a set of parameters to simplify persistency
Subclassed by Acts::ConeBounds, Acts::CylinderBounds, Acts::DiscBounds, Acts::InfiniteBounds, Acts::LineBounds, Acts::PlanarBounds
Public Types
-
enum BoundsType¶
This is nested to the SurfaceBounds, as also VolumeBounds will have Bounds Type.
Values:
-
enumerator eCone¶
-
enumerator eCylinder¶
-
enumerator eDiamond¶
-
enumerator eDisc¶
-
enumerator eEllipse¶
-
enumerator eLine¶
-
enumerator eRectangle¶
-
enumerator eTrapezoid¶
-
enumerator eTriangle¶
-
enumerator eDiscTrapezoid¶
-
enumerator eConvexPolygon¶
-
enumerator eAnnulus¶
-
enumerator eBoundless¶
-
enumerator eOther¶
-
enumerator eCone¶
Public Functions
-
virtual ~SurfaceBounds() = default¶
-
virtual bool inside(const Vector2 &lposition, const BoundaryCheck &bcheck) const = 0¶
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.
- 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 &os) const = 0¶
Output Method for std::ostream, to be overloaded by child classes.
- Parameters
os – is the outstream in which the string dump is done
-
virtual BoundsType type() const = 0¶
Return the bounds type - for persistency optimization.
- Returns
is a BoundsType enum
-
virtual std::vector<double> values() const = 0¶
Access method for bound values, this is a dynamically sized vector containing the parameters needed to describe these bounds.
- Returns
of the stored values for this SurfaceBounds object