File DiamondBounds.hpp¶
-
namespace Acts
Set the Geometry Context PLUGIN.
Set the Calibration Context PLUGIN.
Convenience functions to ease creation of and Acts::InterpolatedMaterialMap and to avoid code duplication.
Set the Mangetic Field Context PLUGIN.
Convenience functions to ease creation of and Acts::InterpolatedBFieldMap and to avoid code duplication.
Currently implemented for the two most common formats: rz and xyz.
-
class DiamondBounds : public Acts::PlanarBounds
- #include <Acts/Surfaces/DiamondBounds.hpp>
Bounds for a double trapezoidal (“diamond”), planar Surface.
Public Types
-
enum BoundValues
Values:
-
enumerator eHalfLengthXnegY
-
enumerator eHalfLengthXzeroY
-
enumerator eHalfLengthXposY
-
enumerator eHalfLengthYneg
-
enumerator eHalfLengthYpos
-
enumerator eSize
-
enumerator eHalfLengthXnegY
Public Functions
-
DiamondBounds() = delete
-
inline DiamondBounds(double halfXnegY, double halfXzeroY, double halfXposY, double halfYneg, double halfYpos) noexcept(false)
Constructor for convex hexagon symmetric about the y axis.
- Parameters
halfXnegY – is the halflength in x at minimal y
halfXzeroY – is the halflength in x at y = 0
halfXposY – is the halflength in x at maximal y
halfYneg – is the halflength into y < 0
halfYpos – is the halflength into y > 0
-
inline DiamondBounds(const std::array<double, eSize> &values) noexcept(false)
Constructor - from fixed size array.
- Parameters
values – The parameter values
-
~DiamondBounds() override = default
-
virtual const RectangleBounds &boundingBox() const final
Bounding box parameters.
- Returns
rectangle bounds for a bounding box
-
inline double get(BoundValues bValue) const
Access to the bound values.
- Parameters
bValue – the class nested enum for the array access
-
virtual bool inside(const Vector2 &lposition, const BoundaryCheck &bcheck) const final
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 &sl) const final
Output Method for std::ostream.
- Parameters
sl – is the ostream in which it is dumped
-
virtual BoundsType type() const final
Return the bounds type - for persistency optimization.
- Returns
is a BoundsType enum
-
inline virtual std::vector<double> values() const final
Return the bound values as dynamically sized vector.
- Returns
this returns a copy of the internal values
-
virtual std::vector<Vector2> vertices(unsigned int lseg = 1) const final
Return the vertices.
Note
the number of segements is ignored for this representation
- Parameters
lseg – the number of segments used to approximate and eventually curved line
- Returns
vector for vertices in 2D
Private Functions
-
inline void checkConsistency() noexcept(false)¶
Check the input values for consistency, will throw a logic_exception if consistency is not given.
Private Members
-
RectangleBounds m_boundingBox¶
internal bounding box cache
-
enum BoundValues
-
class DiamondBounds : public Acts::PlanarBounds