|
ATLAS Offline Software
|
Go to the documentation of this file.
9 #ifndef TRKVOLUMES_DOUBLETRAPEZOIDVOLUMESBOUNDS_H
10 #define TRKVOLUMES_DOUBLETRAPEZOIDVOLUMESBOUNDS_H
22 class RectangleBounds;
23 class TrapezoidBounds;
74 double maxhlengthx,
double hlenghty1,
75 double hlenghty2,
double hlengthz);
101 bool forceInside = false)
const override final;
128 MsgStream&
dump(MsgStream& sl)
const override final;
130 std::ostream&
dump(std::ostream& sl)
const override final;
155 #ifdef TRKDETDESCR_USEFLOATPRECISON
167 #ifdef TRKDETDESCR_USEFLOATPRECISON
215 #endif // TRKVOLUMES_DOUBLETRAPEZOIDVOLUMESBOUNDS_H
double m_alpha2
opening angle alpha (in point A')
double m_halfY1
halflength in y
Trk::EightObjectsAccessor m_objectAccessor
There's only one single object Acessor for the moment has to be implemented if Cuboids are used more ...
double m_halfZ
halflength in z
double m_minHalfX
minimal Y halflength in x
DiamondBounds * faceXYDiamondBounds() const
This method returns the associated DoubleTrapezoidBounds of the face PlaneSurface parallel to local x...
double m_alpha1
opening angle alpha (in point A)
std::array< ObjectAccessor::value_type, 8 > EightObjectsAccessor
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.
DoubleTrapezoidVolumeBounds & operator=(const DoubleTrapezoidVolumeBounds &bobo)
Assignment operator.
virtual ~DoubleTrapezoidVolumeBounds()
Destructor.
ObjectAccessor boundarySurfaceAccessor(const Amg::Vector3D &gp, const Amg::Vector3D &dir, bool forceInside=false) const override final
Provide accessor for BoundarySurfaces.
DoubleTrapezoidVolumeBounds()
Default Constructor.
double m_halfY2
halflength in y
bool const RAWDATA *ch2 const
double halflengthZ() const
This method returns the halflength in local z.
RectangleBounds * faceAlpha2RectangleBounds() const
double maxHalflengthX() const
This method returns the X halflength at maximal Y (local coordinates)
MsgStream & dump(MsgStream &sl) const override final
Output Method for MsgStream.
double halflengthY1() const
This method returns the halflength1 in local y.
Eigen::Affine3d Transform3D
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
RectangleBounds * faceBeta2RectangleBounds() const
double halflengthY2() const
This method returns the halflength2 in local y.
Ensure that the ATLAS eigen extensions are properly loaded.
DoubleTrapezoidVolumeBounds * clone() const override final
Virtual constructor.
Definition of ATLAS Math & Geometry primitives (Amg)
double alpha1() const
This method returns the opening angle in point A (negative local x)
double alpha2() const
This method returns the opening angle in point A' (negative local x)
Eigen::Matrix< double, 3, 1 > Vector3D
const std::vector< const Trk::Surface * > * decomposeToSurfaces(const Amg::Transform3D &transform) override final
Method to decompose the Bounds into Surfaces.
RectangleBounds * faceZXRectangleBoundsTop() const
This method returns the associated RecantleBounds of the face PlaneSurface parallel to local zx plane...
RectangleBounds * faceAlpha1RectangleBounds() const
This method returns the associated RecantleBounds of the face PlaneSurface attached to alpha (negativ...
double minHalflengthX() const
This method returns the X halflength at minimal Y.
double medHalflengthX() const
This method returns the (maximal) halflength in local x.
RectangleBounds * faceZXRectangleBoundsBottom() const
This method returns the associated RecantleBounds of the face PlaneSurface parallel to local zx plane...
double m_maxHalfX
maximal Y halflength in x
RectangleBounds * faceBeta1RectangleBounds() const
This method returns the associated RecantleBounds of the face PlaneSurface attached to beta (positive...
double m_medHalfX
maximal halflength in x