ATLAS Offline Software
|
#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 } |
Public Member Functions | |
DiscTrapezoidalBounds () | |
Default Constructor. More... | |
DiscTrapezoidalBounds (const DiscTrapezoidalBounds &disctrbo) | |
Copy constructor. More... | |
DiscTrapezoidalBounds & | operator= (const DiscTrapezoidalBounds &disctrbo) |
Assignment operator. More... | |
DiscTrapezoidalBounds (DiscTrapezoidalBounds &&disctrbo) noexcept=default | |
Move constructor. More... | |
DiscTrapezoidalBounds & | operator= (DiscTrapezoidalBounds &&disctrbo) noexcept=default |
Move Assignment operator. More... | |
virtual | ~DiscTrapezoidalBounds ()=default |
Destructor. More... | |
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. More... | |
virtual bool | operator== (const SurfaceBounds &sbo) const override |
Equality operator. More... | |
virtual DiscTrapezoidalBounds * | clone () const override |
Virtual constructor. More... | |
virtual SurfaceBounds::BoundsType | type () const override final |
Return the type - mainly for persistency. More... | |
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. 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... | |
double | rMin () const |
This method returns inner radius. More... | |
double | rMax () const |
This method returns outer radius. More... | |
virtual double | r () const override |
This method returns the maximum expansion on the plane (=rMax) More... | |
double | averagePhi () const |
This method returns the average phi. More... | |
double | rCenter () const |
This method returns the center radius. More... | |
double | stereo () const |
This method returns the stereo angle. More... | |
double | halfPhiSector () const |
This method returns the halfPhiSector which is covered by the disc. More... | |
double | minHalflengthX () const |
This method returns the minimal halflength in X. More... | |
double | maxHalflengthX () const |
This method returns the maximal halflength in X. More... | |
double | halflengthY () const |
This method returns the halflength in Y (this is Rmax -Rmin) 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 |
Internal members of the bounds (float/double) More... | |
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 | ( | ) |
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::RotatedTrapezoidBounds, Trk::ConeBounds, Trk::RotatedDiamondBounds, and Trk::DiamondBounds.
Definition at line 129 of file SurfaceBounds.h.
|
finaloverridevirtual |
|
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.