![]() |
ATLAS Offline Software
|
#include <CylinderBounds.h>
Public Types | |
| enum | BoundValues { bv_radius = 0, bv_averagePhi = 1, bv_halfPhiSector = 2, bv_halfZ = 3, bv_length = 4 } |
| BoundValues for readablility. 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 | |
| CylinderBounds () | |
| Default Constructor. More... | |
| CylinderBounds (double radius, double halez) | |
| Constructor - full cylinder. More... | |
| CylinderBounds (double radius, double halfphi, double halez) | |
| Constructor - cylinder segment. More... | |
| CylinderBounds (double radius, double halfphi, double avphi, double halez) | |
| Constructor - cylinder segment with given averagePhi, not supposed for CylinderSurfaces. More... | |
| CylinderBounds (const CylinderBounds &cylbo)=default | |
| Copy Constructor. More... | |
| CylinderBounds (CylinderBounds &&cylbo)=default | |
| Move Constructor. More... | |
| virtual | ~CylinderBounds ()=default |
| Destructor. More... | |
| CylinderBounds & | operator= (const CylinderBounds &cylbo)=default |
| Assignment operator. More... | |
| CylinderBounds & | operator= (CylinderBounds &&cylbo)=default |
| Move assignment operator. More... | |
| virtual bool | operator== (const SurfaceBounds &sbo) const override |
| Equality operator. More... | |
| bool | operator== (const CylinderBounds &bo) const |
| virtual CylinderBounds * | clone () const override |
| Virtual constructor. More... | |
| virtual BoundsType | type () const override final |
| Return the bounds type. More... | |
| virtual bool | inside (const Amg::Vector2D &locpo, double tol1, double tol2) const override final |
| This method checks if a LocalPosition is inside z bounds and rphi value- interface method. More... | |
| virtual bool | inside (const Amg::Vector2D &locpo, const BoundaryCheck &bchk) const override final |
| bool | inside3D (const Amg::Vector3D &gp, double tol1=0., double tol2=0.) const |
| This method checks if a GlobalPosition is inside the Cylinder - not an interface method, assumes that GlobalPosition is in the right frame. 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 loc1. More... | |
| virtual double | minDistance (const Amg::Vector2D &pos) const override final |
| Minimal distance to boundary ( > 0 if outside and <=0 if inside) More... | |
| bool | insideRadius (const Amg::Vector2D &locpo, double tol) const |
| This method checks if a LocalPosition is inside z bounds and inside the radius (for straws) More... | |
| virtual double | r () const override final |
| This method returns the radius. More... | |
| double | averagePhi () const |
| This method returns the average phi. More... | |
| double | halfPhiSector () const |
| This method returns the halfPhiSector angle. More... | |
| double | halflengthZ () const |
| This method returns the halflengthZ. 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 Member Functions | |
| bool | inside (double r, double phi, double z, double tol1, double tol2) const |
| helper methods for the inside check More... | |
| bool | insideLocZ (double z, double tol2) const |
Private Attributes | |
| std::vector< TDD_real_t > | m_boundValues |
| internal storage of the geometry parameters More... | |
| bool | m_checkPhi |
Bounds for a cylindrical Surface. These bounds may be used for both, CylinderSurface and StraightLineSurface. In case of bounds for a StraightLineSurface the radius determines the radius within a localPosition is regarded as inside bounds.
Trk::CylinderBounds also enhance the possibility of a cylinder segment with an opening angle \( 2\cdot\phi_{half}\) around an average \( \phi \) angle \( \phi_{ave} \).
Definition at line 45 of file CylinderBounds.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.
BoundValues for readablility.
| Enumerator | |
|---|---|
| bv_radius | |
| bv_averagePhi | |
| bv_halfPhiSector | |
| bv_halfZ | |
| bv_length | |
Definition at line 49 of file CylinderBounds.h.
| Trk::CylinderBounds::CylinderBounds | ( | ) |
Default Constructor.
Definition at line 18 of file CylinderBounds.cxx.
| Trk::CylinderBounds::CylinderBounds | ( | double | radius, |
| double | halez | ||
| ) |
| Trk::CylinderBounds::CylinderBounds | ( | double | radius, |
| double | halfphi, | ||
| double | halez | ||
| ) |
| Trk::CylinderBounds::CylinderBounds | ( | double | radius, |
| double | halfphi, | ||
| double | avphi, | ||
| double | halez | ||
| ) |
Constructor - cylinder segment with given averagePhi, not supposed for CylinderSurfaces.
Definition at line 41 of file CylinderBounds.cxx.
|
default |
Copy Constructor.
|
default |
Move Constructor.
|
virtualdefault |
Destructor.
| double Trk::CylinderBounds::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 88 of file CylinderBounds.cxx.
|
overridevirtual |
Output Method for std::ostream.
Implements Trk::SurfaceBounds.
Definition at line 100 of file CylinderBounds.cxx.
| double Trk::CylinderBounds::halflengthZ | ( | ) | const |
This method returns the halflengthZ.
| double Trk::CylinderBounds::halfPhiSector | ( | ) | const |
This method returns the halfPhiSector angle.
|
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 |
Implements Trk::SurfaceBounds.
|
finaloverridevirtual |
This method checks if a LocalPosition is inside z bounds and rphi value- interface method.
Implements Trk::SurfaceBounds.
|
private |
helper methods for the inside check
| bool Trk::CylinderBounds::inside3D | ( | const Amg::Vector3D & | gp, |
| double | tol1 = 0., |
||
| double | tol2 = 0. |
||
| ) | const |
This method checks if a GlobalPosition is inside the Cylinder - not an interface method, assumes that GlobalPosition is in the right frame.
|
finaloverridevirtual |
This method checks inside bounds in loc1.
Implements Trk::SurfaceBounds.
|
finaloverridevirtual |
This method checks inside bounds in loc1.
Implements Trk::SurfaceBounds.
|
private |
| bool Trk::CylinderBounds::insideRadius | ( | const Amg::Vector2D & | locpo, |
| double | tol | ||
| ) | const |
This method checks if a LocalPosition is inside z bounds and inside the radius (for straws)
|
finaloverridevirtual |
Minimal distance to boundary ( > 0 if outside and <=0 if inside)
Implements Trk::SurfaceBounds.
Definition at line 62 of file CylinderBounds.cxx.
|
inlinevirtualinherited |
Non-Equality operator.
Reimplemented in Trk::InvalidBounds.
Definition at line 141 of file SurfaceBounds.h.
|
default |
Assignment operator.
|
default |
Move assignment operator.
| bool Trk::CylinderBounds::operator== | ( | const CylinderBounds & | bo | ) | const |
|
overridevirtual |
|
finaloverridevirtual |
This method returns the radius.
Implements Trk::SurfaceBounds.
|
inlineprotectedinherited |
Swap method to be called from DiscBounds or TrapezoidalBounds.
Definition at line 133 of file SurfaceBounds.h.
|
inlinefinaloverridevirtual |
Return the bounds type.
Implements Trk::SurfaceBounds.
Definition at line 95 of file CylinderBounds.h.
|
private |
internal storage of the geometry parameters
Definition at line 143 of file CylinderBounds.h.
|
private |
Definition at line 144 of file CylinderBounds.h.
1.8.18