21 using namespace Acts::UnitLiterals;
27 m_volumeBounds(nullptr),
28 m_orientedBoundingBox(
BoundingBox(this, {0, 0, 0}, {0, 0, 0})) {}
31 std::shared_ptr<const VolumeBounds> volbounds)
34 m_itransform(m_transform ? m_transform->inverse()
37 m_volumeBounds(std::move(volbounds)),
38 m_orientedBoundingBox(m_volumeBounds->boundingBox(
39 nullptr, {0.05_mm, 0.05_mm, 0.05_mm},
this)) {
41 m_center = htrans->translation();
47 m_transform(vol.m_transform),
48 m_itransform(m_transform ? m_transform->inverse()
51 m_volumeBounds(vol.m_volumeBounds),
52 m_orientedBoundingBox(m_volumeBounds->boundingBox(
53 nullptr, {0.05_mm, 0.05_mm, 0.05_mm},
this)) {
55 if (shift !=
nullptr) {
56 m_transform = std::make_shared<const Transform3D>(
transform() * (*shift));
58 m_itransform = m_transform->inverse();
72 return (center() + m_volumeBounds->binningOffset(bValue));
90 return (volumeBounds()).inside(gpos, tol);
93 return (volumeBounds()).inside(posInVolFrame, tol);
103 return m_volumeBounds->boundingBox(m_transform.get(), envelope,
this);
107 return m_orientedBoundingBox;