ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <acts/blob/master/Core/include/Acts/Surfaces/SurfaceBounds.hpp>
Public Types | |
enum | BoundsType : int { eCone = 0, eCylinder = 1, eDiamond = 2, eDisc = 3, eEllipse = 5, eLine = 6, eRectangle = 7, eTrapezoid = 8, eTriangle = 9, eDiscTrapezoid = 10, eConvexPolygon = 11, eAnnulus = 12, eBoundless = 13, eOther = 14 } |
Public Member Functions | |
virtual | ~SurfaceBounds ()=default |
virtual BoundsType | type () const =0 |
virtual std::vector< double > | values () const =0 |
virtual bool | inside (const Vector2D &lposition, const BoundaryCheck &bcheck) const =0 |
virtual double | distanceToBoundary (const Vector2D &lposition) const =0 |
virtual std::ostream & | toStream (std::ostream &os) const =0 |
Interface for surface bounds.
Surface bounds provide:
Definition at line 26 of file SurfaceBounds.hpp.
View newest version in sPHENIX GitHub at line 26 of file SurfaceBounds.hpp
This is nested to the SurfaceBounds, as also VolumeBounds will have Bounds Type.
eCone | |
eCylinder | |
eDiamond | |
eDisc | |
eEllipse | |
eLine | |
eRectangle | |
eTrapezoid | |
eTriangle | |
eDiscTrapezoid | |
eConvexPolygon | |
eAnnulus | |
eBoundless | |
eOther |
Definition at line 31 of file SurfaceBounds.hpp.
View newest version in sPHENIX GitHub at line 31 of file SurfaceBounds.hpp
|
virtualdefault |
|
pure virtual |
Minimal distance to boundary ( > 0 if outside and <=0 if inside)
lposition | is the local position to check for the distance |
Implemented in Acts::ConvexPolygonBounds< PolygonDynamic >, Acts::TrapezoidBounds, Acts::ConvexPolygonBounds< N >, Acts::CylinderBounds, Acts::AnnulusBounds, Acts::ConeBounds, Acts::DiamondBounds, Acts::EllipseBounds, Acts::DiscTrapezoidBounds, Acts::RectangleBounds, Acts::RadialBounds, Acts::LineBounds, Acts::InfiniteBounds, and Acts::SurfaceBoundsStub.
|
pure virtual |
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.
lposition | Local position (assumed to be in right surface frame) |
bcheck | boundary check directive |
Implemented in Acts::ConvexPolygonBounds< PolygonDynamic >, Acts::TrapezoidBounds, Acts::ConvexPolygonBounds< N >, Acts::AnnulusBounds, Acts::ConeBounds, Acts::CylinderBounds, Acts::DiamondBounds, Acts::EllipseBounds, Acts::DiscTrapezoidBounds, Acts::RectangleBounds, Acts::RadialBounds, Acts::LineBounds, Acts::InfiniteBounds, and Acts::SurfaceBoundsStub.
|
pure virtual |
Output Method for std::ostream, to be overloaded by child classes
sl | is the outstream in which the string dump is done |
Implemented in Acts::TrapezoidBounds, Acts::CylinderBounds, Acts::DiamondBounds, Acts::EllipseBounds, Acts::RectangleBounds, Acts::ConeBounds, Acts::AnnulusBounds, Acts::DiscTrapezoidBounds, Acts::RadialBounds, Acts::LineBounds, Acts::InfiniteBounds, Acts::SurfaceBoundsStub, and Acts::ConvexPolygonBoundsBase.
Referenced by Acts::operator<<().
|
pure virtual |
Return the bounds type - for persistency optimization
Implemented in Acts::ConvexPolygonBounds< PolygonDynamic >, Acts::ConvexPolygonBounds< N >, Acts::ConeBounds, Acts::AnnulusBounds, Acts::CylinderBounds, Acts::DiamondBounds, Acts::EllipseBounds, Acts::RectangleBounds, Acts::DiscTrapezoidBounds, Acts::TrapezoidBounds, Acts::RadialBounds, Acts::LineBounds, Acts::SurfaceBoundsStub, and Acts::InfiniteBounds.
Referenced by Acts::operator==().
|
pure virtual |
Access method for bound values, this is a dynamically sized vector containing the parameters needed to describe these bounds
Implemented in Acts::ConeBounds, Acts::AnnulusBounds, Acts::CylinderBounds, Acts::DiamondBounds, Acts::EllipseBounds, Acts::DiscTrapezoidBounds, Acts::RectangleBounds, Acts::RadialBounds, Acts::TrapezoidBounds, Acts::LineBounds, Acts::ConvexPolygonBoundsBase, Acts::InfiniteBounds, and Acts::SurfaceBoundsStub.
Referenced by Acts::operator==().