ATLAS Offline Software
|
#include <TrapezoidVolumeBounds.h>
Public Member Functions | |
TrapezoidVolumeBounds () | |
Default Constructor. More... | |
TrapezoidVolumeBounds (double minhlenghtx, double maxhlengthx, double hlenghty, double hlengthz) | |
Constructor - the trapezoid boundaries (symmetric trapezoid) More... | |
TrapezoidVolumeBounds (double minhlenghtx, double hlenghty, double hlengthz, double alpha, double beta) | |
Constructor - the trapezoid boundaries (arbitrary trapezoid) More... | |
TrapezoidVolumeBounds (const TrapezoidVolumeBounds &bobo) | |
Copy Constructor. More... | |
virtual | ~TrapezoidVolumeBounds () |
Destructor. More... | |
TrapezoidVolumeBounds & | operator= (const TrapezoidVolumeBounds &bobo) |
Assignment operator. More... | |
TrapezoidVolumeBounds * | clone () const override final |
Virtual constructor. More... | |
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. More... | |
const std::vector< const Trk::Surface * > * | decomposeToSurfaces (const Amg::Transform3D &transform) override final |
Method to decompose the Bounds into Surfaces. More... | |
ObjectAccessor | boundarySurfaceAccessor (const Amg::Vector3D &gp, const Amg::Vector3D &dir, bool forceInside=false) const override |
Provide accessor for BoundarySurfaces. More... | |
double | minHalflengthX () const |
This method returns the minimal halflength in local x. More... | |
double | maxHalflengthX () const |
This method returns the maximal halflength in local x. More... | |
double | halflengthY () const |
This method returns the halflength in local y. More... | |
double | halflengthZ () const |
This method returns the halflength in local z. More... | |
double | alpha () const |
This method returns the opening angle in point A (negative local x) More... | |
double | beta () const |
This method returns the opening angle in point B (negative local x) More... | |
MsgStream & | dump (MsgStream &sl) const override final |
Output Method for MsgStream. More... | |
std::ostream & | dump (std::ostream &sl) const override final |
Output Method for std::ostream. More... | |
Private Member Functions | |
TrapezoidBounds * | faceXYTrapezoidBounds () const |
This method returns the associated TrapezoidBounds of the face PlaneSurface parallel to local xy plane. More... | |
RectangleBounds * | faceAlphaRectangleBounds () const |
This method returns the associated RecantleBounds of the face PlaneSurface attached to alpha (negative local x) More... | |
RectangleBounds * | faceBetaRectangleBounds () const |
This method returns the associated RecantleBounds of the face PlaneSurface attached to beta (positive local x) More... | |
RectangleBounds * | faceZXRectangleBoundsBottom () const |
This method returns the associated RecantleBounds of the face PlaneSurface parallel to local zx plane, negative local y. More... | |
RectangleBounds * | faceZXRectangleBoundsTop () const |
This method returns the associated RecantleBounds of the face PlaneSurface parallel to local zx plane, positive local y. More... | |
Private Attributes | |
double | m_minHalfX |
minimal halflength in x More... | |
double | m_maxHalfX |
maximal halflength in x More... | |
double | m_halfY |
halflength in y More... | |
double | m_halfZ |
halflength in z More... | |
double | m_alpha |
opening angle alpha (in point A) More... | |
double | m_beta |
opening angle beta (in point B) More... | |
SixObjectsAccessor | m_objectAccessor |
There's only one single object Acessor for the moment has to be implemented if Cuboids are used more widely. More... | |
Bounds for a trapezoidal shaped Volume, the decomposeToSurfaces method creates a vector of 6 surfaces:
BoundarySurfaceFace [index]:
- negativeFaceXY [0] : Trazpezoidal Trk::PlaneSurface, parallel to \f$ xy \f$ plane at negative \f$ z
\( - positiveFaceXY [1] : Trazpezoidal Trk::PlaneSurface, parallel to \) xy \( plane at positive \) z \( - trapezoidFaceAlpha [2] : Rectangular Trk::PlaneSurface, attached to [0] and [1] at negative \) x \( (associated to alpha) - trapezoidFaceBeta [3] : Rectangular Trk::PlaneSurface, attached to [0] and [1] at positive \) x \( (associated to beta) - negativeFaceZX [4] : Rectangular Trk::PlaneSurface, parallel to \) zx \( plane at negative \) y \( - positiveFaceZX [5] : Rectangular Trk::PlaneSurface, parallel to \) zx \( plane at positive \) y
Definition at line 57 of file TrapezoidVolumeBounds.h.
Trk::TrapezoidVolumeBounds::TrapezoidVolumeBounds | ( | ) |
Trk::TrapezoidVolumeBounds::TrapezoidVolumeBounds | ( | double | minhlenghtx, |
double | maxhlengthx, | ||
double | hlenghty, | ||
double | hlengthz | ||
) |
Constructor - the trapezoid boundaries (symmetric trapezoid)
Definition at line 37 of file TrapezoidVolumeBounds.cxx.
Trk::TrapezoidVolumeBounds::TrapezoidVolumeBounds | ( | double | minhlenghtx, |
double | hlenghty, | ||
double | hlengthz, | ||
double | alpha, | ||
double | beta | ||
) |
Constructor - the trapezoid boundaries (arbitrary trapezoid)
Definition at line 55 of file TrapezoidVolumeBounds.cxx.
Trk::TrapezoidVolumeBounds::TrapezoidVolumeBounds | ( | const TrapezoidVolumeBounds & | bobo | ) |
|
virtualdefault |
Destructor.
|
inline |
This method returns the opening angle in point A (negative local x)
Definition at line 165 of file TrapezoidVolumeBounds.h.
|
inline |
This method returns the opening angle in point B (negative local x)
Definition at line 166 of file TrapezoidVolumeBounds.h.
|
inlineoverridevirtual |
Provide accessor for BoundarySurfaces.
Implements Trk::VolumeBounds.
Definition at line 168 of file TrapezoidVolumeBounds.h.
|
inlinefinaloverridevirtual |
Virtual constructor.
Implements Trk::VolumeBounds.
Definition at line 153 of file TrapezoidVolumeBounds.h.
|
finaloverridevirtual |
Method to decompose the Bounds into Surfaces.
Implements Trk::VolumeBounds.
Definition at line 104 of file TrapezoidVolumeBounds.cxx.
|
finaloverridevirtual |
Output Method for MsgStream.
Implements Trk::VolumeBounds.
Definition at line 261 of file TrapezoidVolumeBounds.cxx.
|
finaloverridevirtual |
Output Method for std::ostream.
Implements Trk::VolumeBounds.
Definition at line 275 of file TrapezoidVolumeBounds.cxx.
|
private |
This method returns the associated RecantleBounds of the face PlaneSurface attached to alpha (negative local x)
Definition at line 219 of file TrapezoidVolumeBounds.cxx.
|
private |
This method returns the associated RecantleBounds of the face PlaneSurface attached to beta (positive local x)
Definition at line 225 of file TrapezoidVolumeBounds.cxx.
|
private |
This method returns the associated TrapezoidBounds of the face PlaneSurface parallel to local xy plane.
Definition at line 212 of file TrapezoidVolumeBounds.cxx.
|
private |
This method returns the associated RecantleBounds of the face PlaneSurface parallel to local zx plane, negative local y.
Definition at line 231 of file TrapezoidVolumeBounds.cxx.
|
private |
This method returns the associated RecantleBounds of the face PlaneSurface parallel to local zx plane, positive local y.
Definition at line 237 of file TrapezoidVolumeBounds.cxx.
|
inline |
This method returns the halflength in local y.
Definition at line 163 of file TrapezoidVolumeBounds.h.
|
inline |
This method returns the halflength in local z.
Definition at line 164 of file TrapezoidVolumeBounds.h.
|
finaloverridevirtual |
This method checks if position in the 3D volume frame is inside the cylinder.
Implements Trk::VolumeBounds.
Definition at line 246 of file TrapezoidVolumeBounds.cxx.
|
inline |
This method returns the maximal halflength in local x.
Definition at line 160 of file TrapezoidVolumeBounds.h.
|
inline |
This method returns the minimal halflength in local x.
Definition at line 157 of file TrapezoidVolumeBounds.h.
Trk::TrapezoidVolumeBounds & Trk::TrapezoidVolumeBounds::operator= | ( | const TrapezoidVolumeBounds & | bobo | ) |
|
private |
opening angle alpha (in point A)
Definition at line 145 of file TrapezoidVolumeBounds.h.
|
private |
opening angle beta (in point B)
Definition at line 146 of file TrapezoidVolumeBounds.h.
|
private |
halflength in y
Definition at line 142 of file TrapezoidVolumeBounds.h.
|
private |
halflength in z
Definition at line 143 of file TrapezoidVolumeBounds.h.
|
private |
maximal halflength in x
Definition at line 141 of file TrapezoidVolumeBounds.h.
|
private |
minimal halflength in x
Definition at line 140 of file TrapezoidVolumeBounds.h.
|
private |
There's only one single object Acessor for the moment has to be implemented if Cuboids are used more widely.
Definition at line 150 of file TrapezoidVolumeBounds.h.