 |
ATLAS Offline Software
|
Go to the documentation of this file.
9 #ifndef TRKVOLUMES_TRAPEZOIDVOLUMESBOUNDS_H
10 #define TRKVOLUMES_TRAPEZOIDVOLUMESBOUNDS_H
22 class RectangleBounds;
23 class TrapezoidBounds;
93 bool forceInside = false)
const override;
114 MsgStream&
dump(MsgStream& sl)
const override final;
117 std::ostream&
dump(std::ostream& sl)
const override final;
175 #endif // TRKVOLUMES_TRAPEZOIDVOLUMESBOUNDS_H
double maxHalflengthX() const
This method returns the maximal halflength in local x.
double minHalflengthX() const
This method returns the minimal halflength in local x.
double m_alpha
opening angle alpha (in point A)
SixObjectsAccessor m_objectAccessor
There's only one single object Acessor for the moment has to be implemented if Cuboids are used more ...
std::shared_ptr< RectangleBounds > faceZXRectangleBoundsBottom() const
This method returns the associated RecantleBounds of the face PlaneSurface parallel to local zx plane...
TrapezoidVolumeBounds * clone() const override final
Virtual constructor.
bool const RAWDATA *ch2 const
std::shared_ptr< RectangleBounds > faceBetaRectangleBounds() const
This method returns the associated RecantleBounds of the face PlaneSurface attached to beta (positive...
virtual std::vector< std::unique_ptr< Trk::Surface > > decomposeToSurfaces(const Amg::Transform3D &transform) override final
Method to decompose the Bounds into Surfaces.
double halflengthY() const
This method returns the halflength in local y.
double m_beta
opening angle beta (in point B)
virtual ~TrapezoidVolumeBounds()
Destructor.
Eigen::Affine3d Transform3D
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
TrapezoidVolumeBounds()
Default Constructor.
std::shared_ptr< RectangleBounds > faceZXRectangleBoundsTop() const
This method returns the associated RecantleBounds of the face PlaneSurface parallel to local zx plane...
double m_halfY
halflength in y
double m_minHalfX
minimal halflength in x
Ensure that the ATLAS eigen extensions are properly loaded.
Definition of ATLAS Math & Geometry primitives (Amg)
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.
std::array< ObjectAccessor::value_type, 6 > SixObjectsAccessor
Eigen::Matrix< double, 3, 1 > Vector3D
double alpha() const
This method returns the opening angle in point A (negative local x)
double m_maxHalfX
maximal halflength in x
std::shared_ptr< RectangleBounds > faceAlphaRectangleBounds() const
This method returns the associated RecantleBounds of the face PlaneSurface attached to alpha (negativ...
TrapezoidVolumeBounds & operator=(const TrapezoidVolumeBounds &bobo)
Assignment operator.
double beta() const
This method returns the opening angle in point B (negative local x)
MsgStream & dump(MsgStream &sl) const override final
Output Method for MsgStream.
double halflengthZ() const
This method returns the halflength in local z.
double m_halfZ
halflength in z
std::shared_ptr< TrapezoidBounds > faceXYTrapezoidBounds() const
This method returns the associated TrapezoidBounds of the face PlaneSurface parallel to local xy plan...
ObjectAccessor boundarySurfaceAccessor(const Amg::Vector3D &gp, const Amg::Vector3D &dir, bool forceInside=false) const override
Provide accessor for BoundarySurfaces.