Class DiscTrapezoidBounds¶
Defined in File DiscTrapezoidBounds.hpp
Inheritance Relationships¶
Base Type¶
public Acts::DiscBounds
(Class DiscBounds)
Class Documentation¶
-
class
Acts
::
DiscTrapezoidBounds
: public Acts::DiscBounds¶ Class to describe the bounds for a planar DiscSurface.
By providing an argument for hphisec, the bounds can be restricted to a phi-range around the center position.
Public Types
Public Functions
-
DiscTrapezoidBounds
() = delete¶
-
DiscTrapezoidBounds
(double halfXminR, double halfXmaxR, double minR, double maxR, double avgPhi = M_PI_2, double stereo = 0.) noexcept(false)¶ Constructor for a symmetric Trapezoid giving min X length, max X length, Rmin and R max.
- Parameters
halfXminR
: half length in X at min radiushalfXmaxR
: half length in X at maximum radiusminR
: inner radiusmaxR
: outer radiusavgPhi
: average phi valuestereo
: optional stero angle applied
-
DiscTrapezoidBounds
(const std::array<double, eSize> &values) noexcept(false)¶ Constructor - from fixed size array.
- Parameters
values
: The parameter values
-
~DiscTrapezoidBounds
() override = default¶
-
double
binningValuePhi
() const final¶ Return a reference phi for binning.
-
double
binningValueR
() const final¶ Return a reference radius for binning.
-
bool
coversFullAzimuth
() const final¶ Returns true for full phi coverage - obviously false here.
-
double
get
(BoundValues bValue) const¶ Access to the bound values.
- Parameters
bValue
: the class nested enum for the array access
-
double
halfLengthY
() const¶ This method returns the half length in Y (this is Rmax -Rmin)
-
double
halfPhiSector
() const¶ This method returns the halfPhiSector which is covered by the disc.
-
bool
inside
(const Vector2 &lposition, const BoundaryCheck &bcheck = true) const final¶ This method cheks if the radius given in the LocalPosition is inside [rMin,rMax] if only tol0 is given and additional in the phi sector is tol1 is given.
- Parameters
lposition
: is the local position to be checked (in polar coordinates)bcheck
: is the boundary check directive
-
bool
insideRadialBounds
(double R, double tolerance = 0.) const final¶ Checks if this is inside the radial coverage given the a tolerance.
-
double
rCenter
() const¶ This method returns the center radius.
-
double
rMax
() const final¶ This method returns outer radius.
-
double
rMin
() const final¶ This method returns inner radius.
-
double
stereo
() const¶ This method returns the stereo angle.
-
std::ostream &
toStream
(std::ostream &sl) const final¶ Output Method for std::ostream.
-
SurfaceBounds::BoundsType
type
() const final¶ Return the bounds type - for persistency optimization.
- Return
is a BoundsType enum
-
std::vector<double>
values
() const final¶ Return the bound values as dynamically sized vector.
- Return
this returns a copy of the internal values
-
std::vector<Vector2>
vertices
(unsigned int lseg) const final¶ This method returns the xy coordinates of the four corners of the bounds in module coorindates (in xy)
- Note
that the number of segments are ignored for this surface
- Return
vector for vertices in 2D
- Parameters
lseg
: the number of segments used to approximate and eventually curved line
-