ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::DiscBounds Class Referenceabstract

#include <Acts/Surfaces/DiscBounds.hpp>

Inheritance diagram for Acts::DiscBounds:
[legend]
Collaboration diagram for Acts::DiscBounds:
[legend]

Public Member Functions

virtual double binningValuePhi () const =0
 Returns a refererance phi for binning.
virtual double binningValueR () const =0
 Returns a reference radius for binning.
virtual bool coversFullAzimuth () const =0
 Returns true for full phi coverage.
virtual bool insideRadialBounds (double R, double tolerance=0.) const =0
 Checks if it's inside the radius.
virtual double rMax () const =0
 Return method for outer Radius.
virtual double rMin () const =0
 Return method for inner Radius.
virtual std::vector< Vector2vertices (unsigned int quarterSegments=2u) const =0
 Return the vertices.
Public Member Functions inherited from Acts::SurfaceBounds
virtual ~SurfaceBounds ()=default
virtual SquareMatrix2 boundToCartesianJacobian (const Vector2 &lposition) const =0
 Computes the bound to cartesian jacobian at a given local position.
virtual SquareMatrix2 boundToCartesianMetric (const Vector2 &lposition) const =0
 Computes the bound to cartesian metric at a given local position.
virtual Vector2 center () const =0
 Calculate the center of the surface bounds in local coordinates.
virtual Vector2 closestPoint (const Vector2 &lposition, const SquareMatrix2 &metric) const =0
 Calculates the closest point on the bounds to a given local position.
virtual double distance (const Vector2 &lposition) const
 Calculates the distance to the bounds from a given local position.
virtual bool inside (const Vector2 &lposition) const =0
 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.
virtual bool isCartesian () const =0
 Check if the bound coordinates are cartesian.
virtual std::ostream & toStream (std::ostream &os) const =0
 Output Method for std::ostream, to be overloaded by child classes.
virtual BoundsType type () const =0
 Return the bounds type - for persistency optimization.
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.

Additional Inherited Members

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...

Detailed Description

common base class for all bounds that are in a r/phi frame

  • simply introduced to avoid wrong bound assignments to surfaces

Member Function Documentation

◆ binningValuePhi()

virtual double Acts::DiscBounds::binningValuePhi ( ) const
pure virtual

Returns a refererance phi for binning.

Returns
Reference phi angle value used for binning purposes

Implemented in Acts::AnnulusBounds, Acts::DiscTrapezoidBounds, and Acts::RadialBounds.

◆ binningValueR()

virtual double Acts::DiscBounds::binningValueR ( ) const
pure virtual

Returns a reference radius for binning.

Returns
Reference radius value used for binning purposes

Implemented in Acts::AnnulusBounds, Acts::DiscTrapezoidBounds, and Acts::RadialBounds.

◆ coversFullAzimuth()

virtual bool Acts::DiscBounds::coversFullAzimuth ( ) const
pure virtual

Returns true for full phi coverage.

Returns
True if the bounds cover the full azimuthal range, false otherwise

Implemented in Acts::AnnulusBounds, Acts::DiscTrapezoidBounds, and Acts::RadialBounds.

◆ insideRadialBounds()

virtual bool Acts::DiscBounds::insideRadialBounds ( double R,
double tolerance = 0. ) const
pure virtual

Checks if it's inside the radius.

Parameters
RThe radius value to check
toleranceThe tolerance for the check
Returns
True if the radius is within the bounds, false otherwise

Implemented in Acts::AnnulusBounds, Acts::DiscTrapezoidBounds, and Acts::RadialBounds.

◆ rMax()

virtual double Acts::DiscBounds::rMax ( ) const
pure virtual

Return method for outer Radius.

Returns
Maximum radius of the disc bounds

Implemented in Acts::AnnulusBounds, Acts::DiscTrapezoidBounds, and Acts::RadialBounds.

◆ rMin()

virtual double Acts::DiscBounds::rMin ( ) const
pure virtual

Return method for inner Radius.

Returns
Minimum radius of the disc bounds

Implemented in Acts::AnnulusBounds, Acts::DiscTrapezoidBounds, and Acts::RadialBounds.

◆ vertices()

virtual std::vector< Vector2 > Acts::DiscBounds::vertices ( unsigned int quarterSegments = 2u) const
pure virtual

Return the vertices.

Parameters
quarterSegmentsThe number of segments used to describe a quarter of a circle, if it is 1, then only the extrema points in phi are inserted next to the segment corners
Returns
vector for vertices in 2D

Implemented in Acts::AnnulusBounds, and Acts::DiscTrapezoidBounds.