ATLAS Offline Software
AbstractVolume.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // AbstractVolume.h, (c) ATLAS Detector software
8 
9 #ifndef TRKVOLUMES_ABSTRACTVOLUME_H
10 #define TRKVOLUMES_ABSTRACTVOLUME_H
11 
12 // Trk
15 #include "TrkVolumes/Volume.h"
16 // STD
17 #include <vector>
18 // Eigen
21 
22 class MsgStream;
23 
24 namespace Trk {
25 
26 class VolumeBounds;
27 
51 class AbstractVolume : public Volume {
52  public:
55 
57  AbstractVolume(const AbstractVolume& vol);
58 
61  VolumeBounds* volbounds);
62 
64  virtual ~AbstractVolume();
65 
68 
70  AbstractVolume* clone() const;
71 
73  const std::vector<SharedObject<const BoundarySurface<AbstractVolume> > >&
74  boundarySurfaces() const;
75 
76  private:
79 
80  std::vector<SharedObject<const BoundarySurface<AbstractVolume> > >*
82 };
83 
85  return new AbstractVolume(*this);
86 }
87 
88 } // namespace Trk
89 
90 #endif // TRKVOLUMES_ABSTRACTVOLUME_H
91 
Trk::AbstractVolume::~AbstractVolume
virtual ~AbstractVolume()
Virtual Destructor.
Definition: AbstractVolume.cxx:52
Trk::AbstractVolume
Definition: AbstractVolume.h:51
Trk::AbstractVolume::operator=
AbstractVolume & operator=(const AbstractVolume &vol)
Assignment operator.
Definition: AbstractVolume.cxx:59
GeoPrimitives.h
Trk::VolumeBounds
Definition: VolumeBounds.h:45
Volume.h
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
SharedObject.h
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
BoundarySurface.h
Trk::AbstractVolume::boundarySurfaces
const std::vector< SharedObject< const BoundarySurface< AbstractVolume > > > & boundarySurfaces() const
Method to return the BoundarySurfaces.
Definition: AbstractVolume.cxx:73
checker_macros.h
Define macros for attributes used to control the static checker.
Trk::Volume
Definition: Volume.h:35
Trk::AbstractVolume::m_boundarySurfaces
std::vector< SharedObject< const BoundarySurface< AbstractVolume > > > * m_boundarySurfaces
boundary Surfaces
Definition: AbstractVolume.h:81
Trk::AbstractVolume::AbstractVolume
AbstractVolume()
Default Constructor - needed for pool and inherited classes.
Definition: AbstractVolume.cxx:30
Trk::AbstractVolume::clone
AbstractVolume * clone() const
Implicit constructor.
Definition: AbstractVolume.h:84
Trk::AbstractVolume::createBoundarySurfaces
void createBoundarySurfaces()
Private method to create BoundarySurfaces.
Definition: AbstractVolume.cxx:78