|
ATLAS Offline Software
|
Go to the documentation of this file.
22 #include "GaudiKernel/MsgStream.h"
23 #include "GaudiKernel/SystemOfUnits.h"
32 , m_boundarySurfaces(nullptr)
39 :
Volume(htrans, volbounds)
40 , m_boundarySurfaces(nullptr)
48 , m_boundarySurfaces(nullptr)
54 delete m_boundarySurfaces;
63 delete m_boundarySurfaces;
64 m_boundarySurfaces =
new std::vector<
75 return (*m_boundarySurfaces);
81 m_boundarySurfaces =
new std::vector<
84 const std::vector<const Trk::Surface*>* surfaces =
86 std::vector<const Trk::Surface*>::const_iterator surfIter = surfaces->begin();
90 int sfNumber = surfaces->size();
92 for (; surfIter != surfaces->end(); ++surfIter) {
97 m_boundarySurfaces->push_back(
100 this,
nullptr, *psf)));
107 m_boundarySurfaces->push_back(
110 this,
nullptr, *dsf)));
118 (sfCounter == 3 && sfNumber > 3) ?
nullptr :
this;
120 m_boundarySurfaces->push_back(
123 inner, outer, *csf)));
Volume & operator=(const Volume &vol)
Assignment operator.
virtual ~AbstractVolume()
Virtual Destructor.
AbstractVolume & operator=(const AbstractVolume &vol)
Assignment operator.
Eigen::Affine3d Transform3D
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
virtual const std::vector< const Trk::Surface * > * decomposeToSurfaces(const Amg::Transform3D &transform)=0
Method to decompose the Bounds into Surfaces, the Volume can turn them into BoundarySurfaces.
std::shared_ptr< T > SharedObject
const VolumeBounds & volumeBounds() const
returns the volumeBounds()
const std::vector< SharedObject< const BoundarySurface< AbstractVolume > > > & boundarySurfaces() const
Method to return the BoundarySurfaces.
std::vector< SharedObject< const BoundarySurface< AbstractVolume > > > * m_boundarySurfaces
boundary Surfaces
AbstractVolume()
Default Constructor - needed for pool and inherited classes.
void createBoundarySurfaces()
Private method to create BoundarySurfaces.