![]() |
ATLAS Offline Software
|
Class to describe the bounds for a planar DiscSurface. More...
#include <DiscTrapezoidalBounds.h>
Public Types | |
| enum | BoundValues { bv_rMin = 0 , bv_rMax = 1 , bv_minHalfX = 2 , bv_maxHalfX = 3 , bv_halfY = 4 , bv_halfPhiSector = 5 , bv_averagePhi = 6 , bv_rCenter = 7 , bv_stereo = 8 , bv_length = 9 } |
| enumeration for readability More... | |
| 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 } |
| This enumerator simplifies the persistency, by saving a dynamic_cast to happen. More... | |
Public Member Functions | |
| DiscTrapezoidalBounds () | |
| Default Constructor. | |
| DiscTrapezoidalBounds (const DiscTrapezoidalBounds &disctrbo) | |
| Copy constructor. | |
| DiscTrapezoidalBounds & | operator= (const DiscTrapezoidalBounds &disctrbo) |
| Assignment operator. | |
| DiscTrapezoidalBounds (DiscTrapezoidalBounds &&disctrbo) noexcept=default | |
| Move constructor. | |
| DiscTrapezoidalBounds & | operator= (DiscTrapezoidalBounds &&disctrbo) noexcept=default |
| Move Assignment operator. | |
| virtual | ~DiscTrapezoidalBounds ()=default |
| Destructor. | |
| DiscTrapezoidalBounds (double minhalfx, double maxhalfx, double rMin, double rMax, double avephi, double stereo=0.) | |
| Constructor for a symmetric Trapezoid giving min X lenght, max X lenght, Rmin and R max. | |
| virtual bool | operator== (const SurfaceBounds &sbo) const override |
| Equality operator. | |
| virtual DiscTrapezoidalBounds * | clone () const override |
| Virtual constructor. | |
| virtual SurfaceBounds::BoundsType | type () const override final |
| Return the type - mainly for persistency. | |
| virtual bool | inside (const Amg::Vector2D &locpo, double tol1=0., double tol2=0.) const override final |
| This method cheks if the radius given in the LocalPosition is inside [rMin,rMax] if only tol1 is given and additional in the phi sector is tol2 is given. | |
| 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. | |
| virtual bool | insideLoc2 (const Amg::Vector2D &locpo, double tol2=0.) const override final |
| This method checks inside bounds in loc2. | |
| virtual double | minDistance (const Amg::Vector2D &pos) const override final |
| Minimal distance to boundary ( > 0 if outside and <=0 if inside) | |
| double | rMin () const |
| This method returns inner radius. | |
| double | rMax () const |
| This method returns outer radius. | |
| virtual double | r () const override |
| This method returns the maximum expansion on the plane (=rMax) | |
| double | averagePhi () const |
| This method returns the average phi. | |
| double | rCenter () const |
| This method returns the center radius. | |
| double | stereo () const |
| This method returns the stereo angle. | |
| double | halfPhiSector () const |
| This method returns the halfPhiSector which is covered by the disc. | |
| double | minHalflengthX () const |
| This method returns the minimal halflength in X. | |
| double | maxHalflengthX () const |
| This method returns the maximal halflength in X. | |
| double | halflengthY () const |
| This method returns the halflength in Y (this is Rmax -Rmin) | |
| virtual MsgStream & | dump (MsgStream &sl) const override |
| Output Method for MsgStream. | |
| virtual std::ostream & | dump (std::ostream &sl) const override |
| Output Method for std::ostream. | |
| virtual bool | operator!= (const SurfaceBounds &sb) const |
| Non-Equality operator. | |
Protected Member Functions | |
| void | swap (double &b1, double &b2) |
| Swap method to be called from DiscBounds or TrapezoidalBounds. | |
| virtual void | initCache () |
| virtual initCache method for object persistency | |
Private Attributes | |
| std::vector< TDD_real_t > | m_boundValues |
| Internal members of the bounds (float/double) | |
Class to describe the bounds for a planar DiscSurface.
By providing an argument for hphisec, the bounds can be restricted to a phirange around the center position.
Definition at line 41 of file DiscTrapezoidalBounds.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.
enumeration for readability
| Enumerator | |
|---|---|
| bv_rMin | |
| bv_rMax | |
| bv_minHalfX | |
| bv_maxHalfX | |
| bv_halfY | |
| bv_halfPhiSector | |
| bv_averagePhi | |
| bv_rCenter | |
| bv_stereo | |
| bv_length | |
Definition at line 46 of file DiscTrapezoidalBounds.h.
| Trk::DiscTrapezoidalBounds::DiscTrapezoidalBounds | ( | ) |
Default Constructor.
Definition at line 17 of file DiscTrapezoidalBounds.cxx.
| Trk::DiscTrapezoidalBounds::DiscTrapezoidalBounds | ( | const DiscTrapezoidalBounds & | disctrbo | ) |
Copy constructor.
Definition at line 57 of file DiscTrapezoidalBounds.cxx.
|
defaultnoexcept |
Move constructor.
|
virtualdefault |
Destructor.
| Trk::DiscTrapezoidalBounds::DiscTrapezoidalBounds | ( | double | minhalfx, |
| double | maxhalfx, | ||
| double | rMin, | ||
| double | rMax, | ||
| double | avephi, | ||
| double | stereo = 0. ) |
Constructor for a symmetric Trapezoid giving min X lenght, max X lenght, Rmin and R max.
Definition at line 21 of file DiscTrapezoidalBounds.cxx.
| double Trk::DiscTrapezoidalBounds::averagePhi | ( | ) | const |
This method returns the average phi.
|
overridevirtual |
Virtual constructor.
Implements Trk::SurfaceBounds.
|
overridevirtual |
Output Method for MsgStream.
Implements Trk::SurfaceBounds.
Definition at line 369 of file DiscTrapezoidalBounds.cxx.
|
overridevirtual |
Output Method for std::ostream.
Implements Trk::SurfaceBounds.
Definition at line 383 of file DiscTrapezoidalBounds.cxx.
| double Trk::DiscTrapezoidalBounds::halflengthY | ( | ) | const |
This method returns the halflength in Y (this is Rmax -Rmin)
| double Trk::DiscTrapezoidalBounds::halfPhiSector | ( | ) | const |
This method returns the halfPhiSector which is covered by the disc.
|
inlineprotectedvirtualinherited |
virtual initCache method for object persistency
Reimplemented in Trk::ConeBounds, Trk::DiamondBounds, Trk::RotatedDiamondBounds, and Trk::RotatedTrapezoidBounds.
Definition at line 129 of file SurfaceBounds.h.
|
finaloverridevirtual |
Implements Trk::SurfaceBounds.
Definition at line 125 of file DiscTrapezoidalBounds.cxx.
|
finaloverridevirtual |
This method cheks if the radius given in the LocalPosition is inside [rMin,rMax] if only tol1 is given and additional in the phi sector is tol2 is given.
Implements Trk::SurfaceBounds.
Definition at line 82 of file DiscTrapezoidalBounds.cxx.
|
finaloverridevirtual |
This method checks inside bounds in loc1.
Implements Trk::SurfaceBounds.
|
finaloverridevirtual |
This method checks inside bounds in loc2.
Implements Trk::SurfaceBounds.
| double Trk::DiscTrapezoidalBounds::maxHalflengthX | ( | ) | const |
This method returns the maximal halflength in X.
|
finaloverridevirtual |
Minimal distance to boundary ( > 0 if outside and <=0 if inside)
Implements Trk::SurfaceBounds.
Definition at line 329 of file DiscTrapezoidalBounds.cxx.
| double Trk::DiscTrapezoidalBounds::minHalflengthX | ( | ) | const |
This method returns the minimal halflength in X.
|
inlinevirtualinherited |
Non-Equality operator.
Reimplemented in Trk::InvalidBounds.
Definition at line 141 of file SurfaceBounds.h.
| Trk::DiscTrapezoidalBounds & Trk::DiscTrapezoidalBounds::operator= | ( | const DiscTrapezoidalBounds & | disctrbo | ) |
Assignment operator.
Definition at line 64 of file DiscTrapezoidalBounds.cxx.
|
defaultnoexcept |
Move Assignment operator.
|
overridevirtual |
Equality operator.
Implements Trk::SurfaceBounds.
Definition at line 72 of file DiscTrapezoidalBounds.cxx.
|
overridevirtual |
This method returns the maximum expansion on the plane (=rMax)
Implements Trk::SurfaceBounds.
| double Trk::DiscTrapezoidalBounds::rCenter | ( | ) | const |
This method returns the center radius.
| double Trk::DiscTrapezoidalBounds::rMax | ( | ) | const |
This method returns outer radius.
| double Trk::DiscTrapezoidalBounds::rMin | ( | ) | const |
This method returns inner radius.
| double Trk::DiscTrapezoidalBounds::stereo | ( | ) | const |
This method returns the stereo angle.
|
inlineprotectedinherited |
Swap method to be called from DiscBounds or TrapezoidalBounds.
Definition at line 133 of file SurfaceBounds.h.
|
inlinefinaloverridevirtual |
Return the type - mainly for persistency.
Implements Trk::SurfaceBounds.
Definition at line 88 of file DiscTrapezoidalBounds.h.
|
private |
Internal members of the bounds (float/double)
Definition at line 144 of file DiscTrapezoidalBounds.h.