ATLAS Offline Software
|
#include <TriangleBounds.h>
Public Types | |
enum | BoundValues { bv_x1 = 0, bv_y1 = 1, bv_x2 = 2, bv_y2 = 3, bv_x3 = 4, bv_y3 = 5, bv_length = 6 } |
enum | BoundsType { Cone = 0, Cylinder = 1, Diamond = 2, Disc = 3, Ellipse = 5, Rectangle = 6, RotatedTrapezoid = 7, Trapezoid = 8, Triangle = 9, DiscTrapezoidal = 10, Annulus = 11, Other = 12 } |
Public Member Functions | |
TriangleBounds () | |
Default Constructor - needed for persistency. More... | |
TriangleBounds (const TriangleBounds &tribo)=default | |
Copy constructor. More... | |
TriangleBounds & | operator= (const TriangleBounds &recbo)=default |
Assignment Operator. More... | |
TriangleBounds (TriangleBounds &&tribo) noexcept=default | |
Move constructor. More... | |
TriangleBounds & | operator= (TriangleBounds &&recbo) noexcept=default |
Move Assignment Operator. More... | |
virtual | ~TriangleBounds ()=default |
Destructor. More... | |
TriangleBounds (const std::vector< std::pair< float, float >> &) | |
Constructor with coordinates of vertices - floats. More... | |
TriangleBounds (const std::vector< std::pair< double, double >> &) | |
Constructor with coordinates of vertices - double. More... | |
TriangleBounds (const Amg::Vector2D &p1, const Amg::Vector2D &p2, const Amg::Vector2D &p3) | |
Constructor from three 2 Vectors. More... | |
virtual bool | operator== (const SurfaceBounds &sbo) const override |
Equality operator. More... | |
virtual TriangleBounds * | clone () const override |
Virtual constructor. More... | |
virtual BoundsType | type () const override final |
Return the type of the bounds for persistency. More... | |
virtual bool | inside (const Amg::Vector2D &locpo, double tol1=0., double tol2=0.) const override final |
This method checks if the provided local coordinates are inside the surface bounds. More... | |
virtual bool | inside (const Amg::Vector2D &locpo, const BoundaryCheck &bchk) const override final |
virtual bool | insideLoc1 (const Amg::Vector2D &locpo, double tol1=0.) const override final |
This method checks inside bounds in loc1. More... | |
virtual bool | insideLoc2 (const Amg::Vector2D &locpo, double tol2=0.) const override final |
This method checks inside bounds in loc2. More... | |
virtual double | minDistance (const Amg::Vector2D &pos) const override final |
Minimal distance to boundary ( > 0 if outside and <=0 if inside) More... | |
std::vector< std::pair< TDD_real_t, TDD_real_t > > | vertices () const |
This method returns the coordinates of vertices. More... | |
virtual double | r () const override final |
This method returns the maximal extension on the local plane, i.e. More... | |
virtual MsgStream & | dump (MsgStream &sl) const override |
Output Method for MsgStream. More... | |
virtual std::ostream & | dump (std::ostream &sl) const override |
Output Method for std::ostream. More... | |
virtual bool | operator!= (const SurfaceBounds &sb) const |
Non-Equality operator. More... | |
Protected Member Functions | |
void | swap (double &b1, double &b2) |
Swap method to be called from DiscBounds or TrapezoidalBounds. More... | |
virtual void | initCache () |
virtual initCache method for object persistency More... | |
Private Attributes | |
std::vector< TDD_real_t > | m_boundValues |
Bounds for a triangular, planar surface.
Definition at line 38 of file TriangleBounds.h.
|
inherited |
This enumerator simplifies the persistency, by saving a dynamic_cast to happen.
Other is reserved for the GeometrySurfaces implementation.
Enumerator | |
---|---|
Cone | |
Cylinder | |
Diamond | |
Disc | |
Ellipse | |
Rectangle | |
RotatedTrapezoid | |
Trapezoid | |
Triangle | |
DiscTrapezoidal | |
Annulus | |
Other |
Definition at line 58 of file SurfaceBounds.h.
Trk::TriangleBounds::TriangleBounds | ( | ) |
|
default |
Copy constructor.
|
defaultnoexcept |
Move constructor.
|
virtualdefault |
Destructor.
Trk::TriangleBounds::TriangleBounds | ( | const std::vector< std::pair< float, float >> & | vertices | ) |
Constructor with coordinates of vertices - floats.
Definition at line 23 of file TriangleBounds.cxx.
Trk::TriangleBounds::TriangleBounds | ( | const std::vector< std::pair< double, double >> & | vertices | ) |
Constructor with coordinates of vertices - double.
Definition at line 37 of file TriangleBounds.cxx.
Trk::TriangleBounds::TriangleBounds | ( | const Amg::Vector2D & | p1, |
const Amg::Vector2D & | p2, | ||
const Amg::Vector2D & | p3 | ||
) |
|
overridevirtual |
Virtual constructor.
Implements Trk::SurfaceBounds.
|
overridevirtual |
Output Method for MsgStream.
Implements Trk::SurfaceBounds.
Definition at line 226 of file TriangleBounds.cxx.
|
overridevirtual |
Output Method for std::ostream.
Implements Trk::SurfaceBounds.
Definition at line 239 of file TriangleBounds.cxx.
|
inlineprotectedvirtualinherited |
virtual initCache method for object persistency
Reimplemented in Trk::RotatedTrapezoidBounds, Trk::ConeBounds, Trk::RotatedDiamondBounds, and Trk::DiamondBounds.
Definition at line 129 of file SurfaceBounds.h.
|
finaloverridevirtual |
|
finaloverridevirtual |
This method checks if the provided local coordinates are inside the surface bounds.
Implements Trk::SurfaceBounds.
Definition at line 73 of file TriangleBounds.cxx.
|
finaloverridevirtual |
This method checks inside bounds in loc1.
Implements Trk::SurfaceBounds.
|
finaloverridevirtual |
This method checks inside bounds in loc2.
Implements Trk::SurfaceBounds.
|
finaloverridevirtual |
Minimal distance to boundary ( > 0 if outside and <=0 if inside)
Implements Trk::SurfaceBounds.
Definition at line 176 of file TriangleBounds.cxx.
|
inlinevirtualinherited |
Non-Equality operator.
Reimplemented in Trk::InvalidBounds.
Definition at line 141 of file SurfaceBounds.h.
|
default |
Assignment Operator.
|
defaultnoexcept |
Move Assignment Operator.
|
overridevirtual |
|
finaloverridevirtual |
This method returns the maximal extension on the local plane, i.e.
\(s\sqrt{h_{\phi}^2 + h_{\eta}^2}\)
Implements Trk::SurfaceBounds.
|
inlineprotectedinherited |
Swap method to be called from DiscBounds or TrapezoidalBounds.
Definition at line 133 of file SurfaceBounds.h.
|
inlinefinaloverridevirtual |
Return the type of the bounds for persistency.
Implements Trk::SurfaceBounds.
Definition at line 88 of file TriangleBounds.h.
std::vector<std::pair<TDD_real_t, TDD_real_t> > Trk::TriangleBounds::vertices | ( | ) | const |
This method returns the coordinates of vertices.
|
private |
Definition at line 118 of file TriangleBounds.h.