ATLAS Offline Software
|
#include <PrismVolumeBounds.h>
Public Member Functions | |
PrismVolumeBounds () | |
Default Constructor. More... | |
PrismVolumeBounds (std::vector< std::pair< float, float > > xyvtx, float hlengthz) | |
Constructor - generic case (from float) More... | |
PrismVolumeBounds (std::vector< std::pair< double, double > > xyvtx, double hlengthz) | |
Constructor - generic case from (double) More... | |
PrismVolumeBounds (const PrismVolumeBounds &bobo) | |
Copy Constructor. More... | |
virtual | ~PrismVolumeBounds () |
Destructor. More... | |
PrismVolumeBounds & | operator= (const PrismVolumeBounds &bobo) |
Assignment operator. More... | |
PrismVolumeBounds * | 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 volume. 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 final |
Provide accessor for BoundarySurfaces. More... | |
std::vector< std::pair< double, double > > | xyVertices () const |
This method returns the set of xy generating vertices. More... | |
double | halflengthZ () const |
This method returns the halflength in local z. 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 | |
Trk::PlaneSurface * | sideSurf (const Amg::Transform3D &, unsigned int, unsigned int) const |
method to construct side boundary planes More... | |
std::vector< std::pair< double, double > > | mirror_xyVtx () const |
mirror the input vertices for down-side boundary More... | |
int | ordering () const |
assess ordering of vertices More... | |
Private Attributes | |
std::vector< std::pair< double, double > > | m_xyVtx |
generating xy vertices More... | |
double | m_halfZ |
halflength in z More... | |
Trk::TriangleBounds * | m_baseBounds |
base xy bounds More... | |
CxxUtils::CachedValue< int > | m_ordering |
cache vertex ordering More... | |
Trk::EightObjectsAccessor | 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 the transcript of triangular prism
BoundarySurfaceFace [index]:
- negativeFaceXY [0] : Triangular Trk::PlaneSurface, parallel to \f$ xy \f$ plane at negative \f$ z
\( - positiveFaceXY [1] : Triangular Trk::PlaneSurface, parallel to \) xy \( plane at positive \) z
Definition at line 44 of file PrismVolumeBounds.h.
Trk::PrismVolumeBounds::PrismVolumeBounds | ( | ) |
Trk::PrismVolumeBounds::PrismVolumeBounds | ( | std::vector< std::pair< float, float > > | xyvtx, |
float | hlengthz | ||
) |
Constructor - generic case (from float)
Trk::PrismVolumeBounds::PrismVolumeBounds | ( | std::vector< std::pair< double, double > > | xyvtx, |
double | hlengthz | ||
) |
Constructor - generic case from (double)
Trk::PrismVolumeBounds::PrismVolumeBounds | ( | const PrismVolumeBounds & | bobo | ) |
|
virtual |
|
inlinefinaloverridevirtual |
Provide accessor for BoundarySurfaces.
Implements Trk::VolumeBounds.
Definition at line 127 of file PrismVolumeBounds.h.
|
inlinefinaloverridevirtual |
Virtual constructor.
Implements Trk::VolumeBounds.
Definition at line 116 of file PrismVolumeBounds.h.
|
finaloverridevirtual |
Method to decompose the Bounds into Surfaces.
Implements Trk::VolumeBounds.
Definition at line 98 of file PrismVolumeBounds.cxx.
|
finaloverridevirtual |
Output Method for MsgStream.
Implements Trk::VolumeBounds.
Definition at line 260 of file PrismVolumeBounds.cxx.
|
finaloverridevirtual |
Output Method for std::ostream.
Implements Trk::VolumeBounds.
Definition at line 275 of file PrismVolumeBounds.cxx.
|
inline |
|
finaloverridevirtual |
This method checks if position in the 3D volume frame is inside the volume.
Implements Trk::VolumeBounds.
Definition at line 199 of file PrismVolumeBounds.cxx.
|
private |
mirror the input vertices for down-side boundary
Definition at line 209 of file PrismVolumeBounds.cxx.
Trk::PrismVolumeBounds & Trk::PrismVolumeBounds::operator= | ( | const PrismVolumeBounds & | bobo | ) |
|
private |
|
private |
method to construct side boundary planes
Definition at line 132 of file PrismVolumeBounds.cxx.
|
inline |
This method returns the set of xy generating vertices.
Definition at line 120 of file PrismVolumeBounds.h.
|
private |
base xy bounds
Definition at line 107 of file PrismVolumeBounds.h.
|
private |
halflength in z
Definition at line 106 of file PrismVolumeBounds.h.
|
private |
There's only one single object Acessor for the moment has to be implemented if Cuboids are used more widely.
this is a real relict,can we get rid of it ?
Definition at line 113 of file PrismVolumeBounds.h.
|
private |
cache vertex ordering
Definition at line 108 of file PrismVolumeBounds.h.
|
private |
generating xy vertices
Definition at line 105 of file PrismVolumeBounds.h.