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
-