![]() |
ATLAS Offline Software
|
Bounds for a cylindrical Volume, the decomposeToSurfaces method creates a vector of up to 6 surfaces: More...
#include <CylinderVolumeBounds.h>
Public Member Functions | |
| CylinderVolumeBounds () | |
| Default Constructor. | |
| CylinderVolumeBounds (double radius, double halez) | |
| Constructor - full cylinder. | |
| CylinderVolumeBounds (double rinner, double router, double halez) | |
| Constructor - extruded cylinder. | |
| CylinderVolumeBounds (double rinner, double router, double halfPhiSector, double halez) | |
| Constructor - extruded cylinder segment. | |
| CylinderVolumeBounds (const CylinderVolumeBounds &cylbo) | |
| Copy Constructor. | |
| virtual | ~CylinderVolumeBounds () |
| Destructor. | |
| CylinderVolumeBounds & | operator= (const CylinderVolumeBounds &cylbo) |
| Assignment operator. | |
| CylinderVolumeBounds * | clone () const override |
| Virtual constructor. | |
| bool | inside (const Amg::Vector3D &, double tol=0.) const override final |
| 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 final |
| Method to decompose the Bounds into boundarySurfaces. | |
| ObjectAccessor | boundarySurfaceAccessor (const Amg::Vector3D &gp, const Amg::Vector3D &dir, bool forceInside=false) const override final |
| 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. | |
| MsgStream & | dump (MsgStream &sl) const override final |
| Output Method for MsgStream. | |
| std::ostream & | dump (std::ostream &sl) const override final |
| Output Method for std::ostream. | |
Private Member Functions | |
| 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 > | bottomDiscBounds () const |
| This method returns the associated DiscBounds for the bottom/top DiscSurface. | |
| std::shared_ptr< DiscBounds > | topDiscBounds () const |
| This method returns the associated DiscBounds for the bottom/top DiscSurface. | |
| std::shared_ptr< RectangleBounds > | sectorPlaneBounds () const |
| This method returns the associated PlaneBounds limiting a sectoral CylinderVolume. | |
| void | createBoundarySurfaceAccessors () |
| Private method to construct the accessors. | |
Private Attributes | |
| double | m_innerRadius |
| double | m_outerRadius |
| double | m_halfPhiSector |
| double | m_halfZ |
| CylinderVolumeBoundaryAccessors | m_boundaryAccessors |
| Accessors for Boundary surface access - static is not possible due to mismatched delete() / free () with TrkMagFieldUtils. | |
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]:
Definition at line 70 of file CylinderVolumeBounds.h.
| Trk::CylinderVolumeBounds::CylinderVolumeBounds | ( | ) |
Default Constructor.
Definition at line 30 of file CylinderVolumeBounds.cxx.
| Trk::CylinderVolumeBounds::CylinderVolumeBounds | ( | double | radius, |
| double | halez ) |
Constructor - full cylinder.
Definition at line 39 of file CylinderVolumeBounds.cxx.
| Trk::CylinderVolumeBounds::CylinderVolumeBounds | ( | double | rinner, |
| double | router, | ||
| double | halez ) |
Constructor - extruded cylinder.
Definition at line 48 of file CylinderVolumeBounds.cxx.
| Trk::CylinderVolumeBounds::CylinderVolumeBounds | ( | double | rinner, |
| double | router, | ||
| double | halfPhiSector, | ||
| double | halez ) |
Constructor - extruded cylinder segment.
Definition at line 60 of file CylinderVolumeBounds.cxx.
| Trk::CylinderVolumeBounds::CylinderVolumeBounds | ( | const CylinderVolumeBounds & | cylbo | ) |
Copy Constructor.
Definition at line 73 of file CylinderVolumeBounds.cxx.
|
virtualdefault |
Destructor.
|
private |
This method returns the associated DiscBounds for the bottom/top DiscSurface.
Definition at line 364 of file CylinderVolumeBounds.cxx.
|
finaloverridevirtual |
Provide accessor for BoundarySurfaces.
Implements Trk::VolumeBounds.
Definition at line 163 of file CylinderVolumeBounds.cxx.
|
inlineoverridevirtual |
Virtual constructor.
Implements Trk::VolumeBounds.
Definition at line 171 of file CylinderVolumeBounds.h.
|
private |
Private method to construct the accessors.
|
finaloverridevirtual |
Method to decompose the Bounds into boundarySurfaces.
Implements Trk::VolumeBounds.
Definition at line 98 of file CylinderVolumeBounds.cxx.
|
inline |
This method returns the delta radius.
Definition at line 199 of file CylinderVolumeBounds.h.
|
finaloverridevirtual |
Output Method for MsgStream.
Implements Trk::VolumeBounds.
Definition at line 379 of file CylinderVolumeBounds.cxx.
|
finaloverridevirtual |
Output Method for std::ostream.
Implements Trk::VolumeBounds.
Definition at line 392 of file CylinderVolumeBounds.cxx.
|
inline |
|
inline |
This method returns the halfPhiSector angle.
Definition at line 203 of file CylinderVolumeBounds.h.
|
private |
This method returns the associated CylinderBounds of the inner CylinderSurfaces.
Definition at line 352 of file CylinderVolumeBounds.cxx.
|
inline |
This method returns the inner radius.
Definition at line 187 of file CylinderVolumeBounds.h.
|
inlinefinaloverridevirtual |
This method checks if position in the 3D volume frame is inside the cylinder.
Implements Trk::VolumeBounds.
Definition at line 175 of file CylinderVolumeBounds.h.
|
inline |
This method returns the medium radius.
Definition at line 195 of file CylinderVolumeBounds.h.
| Trk::CylinderVolumeBounds & Trk::CylinderVolumeBounds::operator= | ( | const CylinderVolumeBounds & | cylbo | ) |
Assignment operator.
Definition at line 86 of file CylinderVolumeBounds.cxx.
|
private |
This method returns the associated CylinderBounds of the outer CylinderSurfaces.
Definition at line 358 of file CylinderVolumeBounds.cxx.
|
inline |
This method returns the outer radius.
Definition at line 191 of file CylinderVolumeBounds.h.
|
private |
This method returns the associated PlaneBounds limiting a sectoral CylinderVolume.
Definition at line 370 of file CylinderVolumeBounds.cxx.
|
inlineprivate |
This method returns the associated DiscBounds for the bottom/top DiscSurface.
Definition at line 209 of file CylinderVolumeBounds.h.
|
private |
Accessors for Boundary surface access - static is not possible due to mismatched delete() / free () with TrkMagFieldUtils.
Definition at line 165 of file CylinderVolumeBounds.h.
|
private |
Definition at line 159 of file CylinderVolumeBounds.h.
|
private |
Definition at line 160 of file CylinderVolumeBounds.h.
|
private |
Definition at line 157 of file CylinderVolumeBounds.h.
|
private |
Definition at line 158 of file CylinderVolumeBounds.h.
|
staticprivate |
numerical stability
Definition at line 168 of file CylinderVolumeBounds.h.