|
ATLAS Offline Software
|
Go to the documentation of this file.
9 #ifndef TRKVOLUMES_CYLINDERVOLUMESBOUNDS_H
10 #define TRKVOLUMES_CYLINDERVOLUMESBOUNDS_H
24 class RectangleBounds;
108 bool forceInside = false)
const override final;
129 MsgStream&
dump(MsgStream& sl)
const override final;
131 std::ostream&
dump(std::ostream& sl)
const override final;
183 bool insideZ = insideR ? (fabs(
pos.z()) <=
m_halfZ + tol) :
false;
184 return (insideZ && insideR && insidePhi);
215 #endif // TRKVOLUMES_CYLINDERVOLUMESBOUNDS_H
virtual ~CylinderVolumeBounds()
Destructor.
DiscBounds * topDiscBounds() const
This method returns the associated DiscBounds for the bottom/top DiscSurface.
bool const RAWDATA *ch2 const
MsgStream & dump(MsgStream &sl) const override final
Output Method for MsgStream.
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.
CylinderVolumeBounds()
Default Constructor.
ObjectAccessor boundarySurfaceAccessor(const Amg::Vector3D &gp, const Amg::Vector3D &dir, bool forceInside=false) const override final
Provide accessor for BoundarySurfaces.
CylinderVolumeBoundaryAccessors m_boundaryAccessors
Accessors for Boundary surface access - static is not possible due to mismatched delete() / free () w...
Eigen::Affine3d Transform3D
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
double halflengthZ() const
This method returns the halflengthZ.
DiscBounds * bottomDiscBounds() const
This method returns the associated DiscBounds for the bottom/top DiscSurface.
Ensure that the ATLAS eigen extensions are properly loaded.
Definition of ATLAS Math & Geometry primitives (Amg)
double outerRadius() const
This method returns the outer radius.
Eigen::Matrix< double, 3, 1 > Vector3D
CylinderBounds * outerCylinderBounds() const
This method returns the associated CylinderBounds of the outer CylinderSurfaces.
double halfPhiSector() const
This method returns the halfPhiSector angle.
double innerRadius() const
This method returns the inner radius.
CylinderBounds * innerCylinderBounds() const
This method returns the associated CylinderBounds of the inner CylinderSurfaces.
double deltaRadius() const
This method returns the delta radius.
static const double s_numericalStable
numerical stability
RectangleBounds * sectorPlaneBounds() const
This method returns the associated PlaneBounds limiting a sectoral CylinderVolume.
const std::vector< const Trk::Surface * > * decomposeToSurfaces(const Amg::Transform3D &transform) override final
Method to decompose the Bounds into boundarySurfaces.
CylinderVolumeBounds & operator=(const CylinderVolumeBounds &cylbo)
Assignment operator.
void createBoundarySurfaceAccessors()
Private method to construct the accessors.
CylinderVolumeBounds * clone() const override
Virtual constructor.
double mediumRadius() const
This method returns the medium radius.