ATLAS Offline Software
GlueVolumesDescriptor.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // GlueVolumesDescriptor.h, (c) ATLAS Detector software
8 
9 #ifndef TRKGEOMETRY_GLUEVOLUMESDESCRIPTOR_H
10 #define TRKGEOMETRY_GLUEVOLUMESDESCRIPTOR_H
11 
12 // Trk include
14 // Gaudi
15 #include "GaudiKernel/MsgStream.h"
16 // STL
17 #include <map>
18 #include <vector>
19 
20 
21 namespace Trk {
22 
23 class TrackingVolume;
24 
25 typedef std::map<BoundarySurfaceFace,
26  std::vector<TrackingVolume*> >::iterator
28 typedef std::map<BoundarySurfaceFace,
29  std::vector<TrackingVolume*> >::const_iterator
41  public:
44 
47  const std::map<BoundarySurfaceFace, std::vector<TrackingVolume*> >&
48  glv);
49 
52 
55  std::vector<TrackingVolume*>&);
56 
58  const std::vector<TrackingVolume*>& glueVolumes(
60 
62  const std::vector<BoundarySurfaceFace>& glueFaces() const;
63 
64  private:
65  std::map<BoundarySurfaceFace, std::vector<TrackingVolume*> >
67  std::vector<BoundarySurfaceFace> m_glueFaces;
68  static const std::vector<TrackingVolume*> s_emptyVector;
69 };
70 
71 inline const std::vector<BoundarySurfaceFace>&
73  return m_glueFaces;
74 }
75 
78 MsgStream& operator<<(MsgStream& sl, GlueVolumesDescriptor& mprop);
79 std::ostream& operator<<(std::ostream& sl, GlueVolumesDescriptor& mprop);
80 
81 } // namespace Trk
82 
83 #endif
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
Trk::GlueVolumesDescriptor::~GlueVolumesDescriptor
~GlueVolumesDescriptor()
Desctructor.
Definition: GlueVolumesDescriptor.h:51
Trk::GlueVolumeIterator
std::map< BoundarySurfaceFace, std::vector< TrackingVolume * > >::iterator GlueVolumeIterator
Definition: GlueVolumesDescriptor.h:23
Trk::BoundarySurfaceFace
BoundarySurfaceFace
Definition: BoundarySurfaceFace.h:31
Trk::GlueVolumesDescriptor::glueFaces
const std::vector< BoundarySurfaceFace > & glueFaces() const
retrieve the available Glue Faces
Definition: GlueVolumesDescriptor.h:72
Trk::GlueVolumesDescriptor::registerGlueVolumes
void registerGlueVolumes(BoundarySurfaceFace, std::vector< TrackingVolume * > &)
register the volumes
Definition: GlueVolumesDescriptor.cxx:28
Trk::GlueVolumeConstIterator
std::map< BoundarySurfaceFace, std::vector< TrackingVolume * > >::const_iterator GlueVolumeConstIterator
Definition: GlueVolumesDescriptor.h:30
Trk::GlueVolumesDescriptor::m_glueFaces
std::vector< BoundarySurfaceFace > m_glueFaces
Definition: GlueVolumesDescriptor.h:67
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::GlueVolumesDescriptor::glueVolumes
const std::vector< TrackingVolume * > & glueVolumes(BoundarySurfaceFace)
retrieve them again
Definition: GlueVolumesDescriptor.cxx:40
BoundarySurfaceFace.h
Trk::GlueVolumesDescriptor
Definition: GlueVolumesDescriptor.h:40
Trk::GlueVolumesDescriptor::m_glueVolumes
std::map< BoundarySurfaceFace, std::vector< TrackingVolume * > > m_glueVolumes
Definition: GlueVolumesDescriptor.h:66
Trk::operator<<
MsgStream & operator<<(MsgStream &sl, const AlignModule &alignModule)
overload of << operator for MsgStream for debug output
Definition: AlignModule.cxx:204
Trk::GlueVolumesDescriptor::s_emptyVector
static const std::vector< TrackingVolume * > s_emptyVector
Definition: GlueVolumesDescriptor.h:68
Trk::GlueVolumesDescriptor::GlueVolumesDescriptor
GlueVolumesDescriptor()
Constructor.
Definition: GlueVolumesDescriptor.h:43