ATLAS Offline Software
|
#include <RectangleBounds.h>
Public Types | |
enum | BoundValues { bv_halfX = 0, bv_halfY = 1, bv_length = 2 } |
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 | |
RectangleBounds () | |
Default Constructor - needed for persistency. More... | |
RectangleBounds (const RectangleBounds &recbo) | |
Copy constructor. More... | |
RectangleBounds & | operator= (const RectangleBounds &recbo) |
Assignment Operator. More... | |
RectangleBounds (RectangleBounds &&recbo) noexcept=default | |
Move constructor. More... | |
RectangleBounds & | operator= (RectangleBounds &&recbo) noexcept=default |
Move Assignment Operator. More... | |
virtual | ~RectangleBounds ()=default |
Destructor. More... | |
RectangleBounds (double halex, double haley) | |
Constructor with halflength in x (phi) and halflength in y (eta) More... | |
virtual bool | operator== (const SurfaceBounds &sbo) const override final |
Equality operator. More... | |
virtual RectangleBounds * | 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 |
This method checks if the provided local coordinates are inside the surface bounds. More... | |
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... | |
double | halflengthPhi () const |
This method returns the halflength in phi (first coordinate of local surface frame) More... | |
double | halflengthEta () const |
This method returns the halflength in Eta (second coordinate of local surface frame) More... | |
double | halflengthX () const |
for consistant naming More... | |
double | halflengthY () const |
for consitant naming More... | |
virtual double | r () const override |
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 |
The internal version of the bounds can be float/double. More... | |
Bounds for a rectangular, planar surface. The two local coordinates locX, locY are for legacy reasons also called \( phi \) respectively \( eta \). The orientation with respect to the local surface framce can be seen in the attached illustration.
Definition at line 37 of file RectangleBounds.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.
for readability
Enumerator | |
---|---|
bv_halfX | |
bv_halfY | |
bv_length |
Definition at line 42 of file RectangleBounds.h.
Trk::RectangleBounds::RectangleBounds | ( | ) |
Trk::RectangleBounds::RectangleBounds | ( | const RectangleBounds & | recbo | ) |
Copy constructor.
Definition at line 31 of file RectangleBounds.cxx.
|
defaultnoexcept |
Move constructor.
|
virtualdefault |
Destructor.
Trk::RectangleBounds::RectangleBounds | ( | double | halex, |
double | haley | ||
) |
Constructor with halflength in x (phi) and halflength in y (eta)
Definition at line 23 of file RectangleBounds.cxx.
|
overridevirtual |
Virtual constructor.
Implements Trk::SurfaceBounds.
|
overridevirtual |
Output Method for MsgStream.
Implements Trk::SurfaceBounds.
Definition at line 134 of file RectangleBounds.cxx.
|
overridevirtual |
Output Method for std::ostream.
Implements Trk::SurfaceBounds.
Definition at line 145 of file RectangleBounds.cxx.
double Trk::RectangleBounds::halflengthEta | ( | ) | const |
This method returns the halflength in Eta (second coordinate of local surface frame)
double Trk::RectangleBounds::halflengthPhi | ( | ) | const |
This method returns the halflength in phi (first coordinate of local surface frame)
double Trk::RectangleBounds::halflengthX | ( | ) | const |
for consistant naming
double Trk::RectangleBounds::halflengthY | ( | ) | const |
for consitant naming
|
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 |
This method checks if the provided local coordinates are inside the surface bounds.
Implements Trk::SurfaceBounds.
Definition at line 56 of file RectangleBounds.cxx.
|
finaloverridevirtual |
This method checks if the provided local coordinates are inside the surface bounds.
Implements Trk::SurfaceBounds.
|
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 118 of file RectangleBounds.cxx.
|
inlinevirtualinherited |
Non-Equality operator.
Reimplemented in Trk::InvalidBounds.
Definition at line 141 of file SurfaceBounds.h.
Trk::RectangleBounds & Trk::RectangleBounds::operator= | ( | const RectangleBounds & | recbo | ) |
Assignment Operator.
Definition at line 38 of file RectangleBounds.cxx.
|
defaultnoexcept |
Move Assignment Operator.
|
finaloverridevirtual |
Equality operator.
Implements Trk::SurfaceBounds.
Definition at line 46 of file RectangleBounds.cxx.
|
overridevirtual |
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 77 of file RectangleBounds.h.
|
private |
The internal version of the bounds can be float/double.
Definition at line 119 of file RectangleBounds.h.