![]() |
ATLAS Offline Software
|
Bounds for a cylindrical Volume, the decomposeToSurfaces method creates a vector of up to 6 surfaces: More...
#include <BevelledCylinderVolumeBounds.h>
Public Member Functions | |
| BevelledCylinderVolumeBounds () | |
| Default Constructor. | |
| BevelledCylinderVolumeBounds (double rinner, double router, double halfPhiSector, double halez, int type) | |
| Constructor - cylinder segment bevelled in R. | |
| BevelledCylinderVolumeBounds (const BevelledCylinderVolumeBounds &cylbo) | |
| Copy Constructor. | |
| virtual | ~BevelledCylinderVolumeBounds () |
| Destructor. | |
| BevelledCylinderVolumeBounds & | operator= (const BevelledCylinderVolumeBounds &cylbo) |
| Assignment operator. | |
| BevelledCylinderVolumeBounds * | clone () const override |
| Virtual constructor. | |
| bool | inside (const Amg::Vector3D &, double tol=0.) const override |
| This method checks if position in the 3D volume frame is inside the cylinder. | |
| virtual std::vector< std::unique_ptr< Trk::Surface > > | decomposeToSurfaces (const Amg::Transform3D &transform) override |
| Method to decompose the Bounds into boundarySurfaces. | |
| ObjectAccessor | boundarySurfaceAccessor (const Amg::Vector3D &gp, const Amg::Vector3D &dir, bool forceInside=false) const override |
| Provide accessor for BoundarySurfaces. | |
| double | innerRadius () const |
| This method returns the inner radius. | |
| double | outerRadius () const |
| This method returns the outer radius. | |
| double | mediumRadius () const |
| This method returns the medium radius. | |
| double | deltaRadius () const |
| This method returns the delta radius. | |
| double | halfPhiSector () const |
| This method returns the halfPhiSector angle. | |
| double | halflengthZ () const |
| This method returns the halflengthZ. | |
| double | thetaMinus () const |
| This method returns the thetaMinus. | |
| double | thetaPlus () const |
| This method returns the thetaPlus. | |
| int | type () const |
| This method returns the type. | |
| MsgStream & | dump (MsgStream &sl) const override |
| Output Method for MsgStream. | |
| std::ostream & | dump (std::ostream &sl) const override |
| Output Method for std::ostream. | |
Private Member Functions | |
| std::shared_ptr< CylinderBounds > | innerBevelledCylinderBounds () const |
| This method returns the associated BevelledCylinderBounds of the inner BevelledCylinderSurfaces. | |
| std::shared_ptr< CylinderBounds > | outerBevelledCylinderBounds () const |
| This method returns the associated BevelledCylinderBounds of the outer BevelledCylinderSurfaces. | |
| std::shared_ptr< RectangleBounds > | innerBevelledPlaneBounds () const |
| This method returns the associated plane surface bounds of the inner bevelled surface. | |
| std::shared_ptr< RectangleBounds > | outerBevelledPlaneBounds () const |
| This method returns the associated BevelledCylinderBounds of the outer BevelledCylinderSurfaces. | |
| std::shared_ptr< EllipseBounds > | bottomEllipseBounds () const |
| This method returns the associated EllipseBounds for the bottom/top EllipseSurface. | |
| std::shared_ptr< EllipseBounds > | topEllipseBounds () const |
| This method returns the associated EllipseBounds for the bottom/top EllipseSurface. | |
| std::shared_ptr< CylinderBounds > | innerCylinderBounds () const |
| This method returns the associated CylinderBounds of the inner CylinderSurfaces. | |
| std::shared_ptr< CylinderBounds > | outerCylinderBounds () const |
| This method returns the associated CylinderBounds of the outer CylinderSurfaces. | |
| std::shared_ptr< DiscBounds > | discBounds () const |
| This method returns the associated DiscBounds for the bottom/top DiscSurface. | |
| Volume * | subtractedVolume () const |
| This method returns the bevelled area volume. | |
| std::shared_ptr< TrapezoidBounds > | sectorTrdBounds () const |
| This method returns the associated PlaneBounds limiting a sectoral BevelledCylinderVolume. | |
| std::shared_ptr< RectangleBounds > | sectorPlaneBounds () const |
| void | createBoundarySurfaceAccessors () |
| Private method to construct the accessors. | |
Private Attributes | |
| double | m_innerRadius |
| double | m_outerRadius |
| double | m_halfPhiSector |
| double | m_halfZ |
| double | m_thetaMinus |
| double | m_thetaPlus |
| int | m_type |
| BevelledCylinderVolumeBoundaryAccessors | m_boundaryAccessors |
| Accessors for Boundary surface access - static is not possible due to mismatched delete() / free () with TrkMagFieldUtils. | |
| CxxUtils::CachedUniquePtr< Trk::Volume > | m_subtractedVolume |
Static Private Attributes | |
| static const double | s_numericalStable |
| numerical stability | |
Bounds for a cylindrical Volume, the decomposeToSurfaces method creates a vector of up to 6 surfaces:
case A) 3 Surfaces (full cylindrical tube): BoundarySurfaceFace [index]:
case B) 4 Surfaces (tube with inner and outer radius): BoundarySurfaceFace [index]:
case C) 6 Surfaces (sectoral tube with inner and outer radius): BoundarySurfaceFace [index]:
case D) 6 Surfaces (sectoral bevelled tube with inner and/or outer radius replaced by plane surface): BoundarySurfaceFace [index]:
Definition at line 100 of file BevelledCylinderVolumeBounds.h.
| Trk::BevelledCylinderVolumeBounds::BevelledCylinderVolumeBounds | ( | ) |
Default Constructor.
Definition at line 34 of file BevelledCylinderVolumeBounds.cxx.
| Trk::BevelledCylinderVolumeBounds::BevelledCylinderVolumeBounds | ( | double | rinner, |
| double | router, | ||
| double | halfPhiSector, | ||
| double | halez, | ||
| int | type ) |
Constructor - cylinder segment bevelled in R.
Definition at line 47 of file BevelledCylinderVolumeBounds.cxx.
| Trk::BevelledCylinderVolumeBounds::BevelledCylinderVolumeBounds | ( | const BevelledCylinderVolumeBounds & | cylbo | ) |
Copy Constructor.
Definition at line 65 of file BevelledCylinderVolumeBounds.cxx.
|
virtualdefault |
Destructor.
|
private |
This method returns the associated EllipseBounds for the bottom/top EllipseSurface.
Definition at line 457 of file BevelledCylinderVolumeBounds.cxx.
|
overridevirtual |
Provide accessor for BoundarySurfaces.
Implements Trk::VolumeBounds.
Definition at line 249 of file BevelledCylinderVolumeBounds.cxx.
|
inlineoverridevirtual |
Virtual constructor.
Implements Trk::VolumeBounds.
Definition at line 217 of file BevelledCylinderVolumeBounds.h.
|
private |
Private method to construct the accessors.
|
overridevirtual |
Method to decompose the Bounds into boundarySurfaces.
Implements Trk::VolumeBounds.
Definition at line 99 of file BevelledCylinderVolumeBounds.cxx.
|
inline |
This method returns the delta radius.
Definition at line 240 of file BevelledCylinderVolumeBounds.h.
|
private |
This method returns the associated DiscBounds for the bottom/top DiscSurface.
Definition at line 491 of file BevelledCylinderVolumeBounds.cxx.
|
overridevirtual |
Output Method for MsgStream.
Implements Trk::VolumeBounds.
Definition at line 553 of file BevelledCylinderVolumeBounds.cxx.
|
overridevirtual |
Output Method for std::ostream.
Implements Trk::VolumeBounds.
Definition at line 568 of file BevelledCylinderVolumeBounds.cxx.
|
inline |
|
inline |
This method returns the halfPhiSector angle.
Definition at line 241 of file BevelledCylinderVolumeBounds.h.
|
private |
This method returns the associated BevelledCylinderBounds of the inner BevelledCylinderSurfaces.
Definition at line 433 of file BevelledCylinderVolumeBounds.cxx.
|
private |
This method returns the associated plane surface bounds of the inner bevelled surface.
Definition at line 451 of file BevelledCylinderVolumeBounds.cxx.
|
private |
This method returns the associated CylinderBounds of the inner CylinderSurfaces.
Definition at line 479 of file BevelledCylinderVolumeBounds.cxx.
|
inline |
This method returns the inner radius.
Definition at line 237 of file BevelledCylinderVolumeBounds.h.
|
inlineoverridevirtual |
This method checks if position in the 3D volume frame is inside the cylinder.
Implements Trk::VolumeBounds.
Definition at line 220 of file BevelledCylinderVolumeBounds.h.
|
inline |
This method returns the medium radius.
Definition at line 239 of file BevelledCylinderVolumeBounds.h.
| Trk::BevelledCylinderVolumeBounds & Trk::BevelledCylinderVolumeBounds::operator= | ( | const BevelledCylinderVolumeBounds & | cylbo | ) |
Assignment operator.
Definition at line 82 of file BevelledCylinderVolumeBounds.cxx.
|
private |
This method returns the associated BevelledCylinderBounds of the outer BevelledCylinderSurfaces.
Definition at line 439 of file BevelledCylinderVolumeBounds.cxx.
|
private |
This method returns the associated BevelledCylinderBounds of the outer BevelledCylinderSurfaces.
Definition at line 445 of file BevelledCylinderVolumeBounds.cxx.
|
private |
This method returns the associated CylinderBounds of the outer CylinderSurfaces.
Definition at line 485 of file BevelledCylinderVolumeBounds.cxx.
|
inline |
This method returns the outer radius.
Definition at line 238 of file BevelledCylinderVolumeBounds.h.
|
private |
Definition at line 508 of file BevelledCylinderVolumeBounds.cxx.
|
private |
This method returns the associated PlaneBounds limiting a sectoral BevelledCylinderVolume.
Definition at line 500 of file BevelledCylinderVolumeBounds.cxx.
|
private |
This method returns the bevelled area volume.
Definition at line 520 of file BevelledCylinderVolumeBounds.cxx.
|
inline |
|
inline |
|
private |
This method returns the associated EllipseBounds for the bottom/top EllipseSurface.
Definition at line 468 of file BevelledCylinderVolumeBounds.cxx.
|
inline |
|
private |
Accessors for Boundary surface access - static is not possible due to mismatched delete() / free () with TrkMagFieldUtils.
Definition at line 209 of file BevelledCylinderVolumeBounds.h.
|
private |
Definition at line 197 of file BevelledCylinderVolumeBounds.h.
|
private |
Definition at line 198 of file BevelledCylinderVolumeBounds.h.
|
private |
Definition at line 195 of file BevelledCylinderVolumeBounds.h.
|
private |
Definition at line 196 of file BevelledCylinderVolumeBounds.h.
|
private |
Definition at line 214 of file BevelledCylinderVolumeBounds.h.
|
private |
Definition at line 199 of file BevelledCylinderVolumeBounds.h.
|
private |
Definition at line 200 of file BevelledCylinderVolumeBounds.h.
|
private |
Definition at line 201 of file BevelledCylinderVolumeBounds.h.
|
staticprivate |
numerical stability
Definition at line 212 of file BevelledCylinderVolumeBounds.h.