16 #include "GaudiKernel/MsgStream.h"
17 #include "GaudiKernel/SystemOfUnits.h"
44 , m_minHalfX(minhalex)
45 , m_medHalfX(medhalex)
46 , m_maxHalfX(maxhalex)
61 , m_minHalfX(trabo.m_minHalfX)
62 , m_medHalfX(trabo.m_medHalfX)
63 , m_maxHalfX(trabo.m_maxHalfX)
64 , m_halfY1(trabo.m_halfY1)
65 , m_halfY2(trabo.m_halfY2)
66 , m_halfZ(trabo.m_halfZ)
67 , m_alpha1(trabo.m_alpha1)
68 , m_alpha2(trabo.m_alpha2)
69 , m_objectAccessor(trabo.m_objectAccessor)
92 const std::vector<const Trk::Surface*>*
96 std::vector<const Trk::Surface*>* retsf =
97 new std::vector<const Trk::Surface*>;
113 this->faceXYDiamondBounds()));
119 this->faceXYDiamondBounds()));
124 Amg::Vector3D A(- this->minHalflengthX(), -this->halflengthY1(), 0.);
142 Amg::Vector3D B(this->minHalflengthX(), -this->halflengthY1(), 0.);
157 Amg::Vector3D AA(- this->maxHalflengthX(), this->halflengthY2(), 0.);
172 Amg::Vector3D BB( this->maxHalflengthX(),this->halflengthY2(), 0.);
192 this->faceZXRectangleBoundsBottom()));
200 this->faceZXRectangleBoundsTop()));
210 m_minHalfX, m_medHalfX, m_maxHalfX, m_halfY1, m_halfY2);
261 if (std::abs(
pos.z()) > m_halfZ + tol)
263 if (
pos.y() < -2 * m_halfY1 - tol)
265 if (
pos.y() > 2 * m_halfY2 + tol)
278 std::stringstream temp_sl;
279 temp_sl << std::setiosflags(std::ios::fixed);
280 temp_sl << std::setprecision(7);
281 temp_sl <<
"Trk::DoubleTrapezoidVolumeBounds: (minhalfX, medhalfX, maxhalfX, "
282 "halfY1, halfY2, halfZ) = ";
283 temp_sl <<
"(" << m_minHalfX <<
", " << m_medHalfX <<
", " << m_maxHalfX;
284 temp_sl <<
", " << m_halfY1 <<
", " << m_halfY2 <<
", " << m_halfZ <<
")";
292 std::stringstream temp_sl;
293 temp_sl << std::setiosflags(std::ios::fixed);
294 temp_sl << std::setprecision(7);
295 temp_sl <<
"Trk::DoubleTrapezoidVolumeBounds: ) =(minhalfX, medhalfX, "
296 "maxhalfX, halfY1, halfY2, halfZ) ";
297 temp_sl <<
"(" << m_minHalfX <<
", " << m_medHalfX <<
", " << m_maxHalfX;
298 temp_sl <<
", " << m_halfY1 <<
", " << m_halfY2 <<
", " << m_halfZ <<
")";