ATLAS Offline Software
Loading...
Searching...
No Matches
Trk::GlueVolumesDescriptor Class Reference

Descriptor class to hold GlueVolumes of a TrackingGeometry object. More...

#include <GlueVolumesDescriptor.h>

Collaboration diagram for Trk::GlueVolumesDescriptor:

Public Member Functions

 GlueVolumesDescriptor ()
 Constructor.
 GlueVolumesDescriptor (const std::map< BoundarySurfaceFace, std::vector< TrackingVolume * > > &glv)
 Constructor - with arguments.
 ~GlueVolumesDescriptor ()
 Desctructor.
void registerGlueVolumes (BoundarySurfaceFace, std::vector< TrackingVolume * > &)
 register the volumes
const std::vector< TrackingVolume * > & glueVolumes (BoundarySurfaceFace)
 retrieve them again
const std::vector< BoundarySurfaceFace > & glueFaces () const
 retrieve the available Glue Faces

Private Attributes

std::map< BoundarySurfaceFace, std::vector< TrackingVolume * > > m_glueVolumes
std::vector< BoundarySurfaceFacem_glueFaces

Static Private Attributes

static const std::vector< TrackingVolume * > s_emptyVector

Detailed Description

Descriptor class to hold GlueVolumes of a TrackingGeometry object.

Should ease the wrapping of a TrackingGeometry object describing one Detector by another one.

Author
Andre.nosp@m.as.S.nosp@m.alzbu.nosp@m.rger.nosp@m.@cern.nosp@m..ch

Definition at line 40 of file GlueVolumesDescriptor.h.

Constructor & Destructor Documentation

◆ GlueVolumesDescriptor() [1/2]

Trk::GlueVolumesDescriptor::GlueVolumesDescriptor ( )
inline

Constructor.

Definition at line 43 of file GlueVolumesDescriptor.h.

43{}

◆ GlueVolumesDescriptor() [2/2]

Trk::GlueVolumesDescriptor::GlueVolumesDescriptor ( const std::map< BoundarySurfaceFace, std::vector< TrackingVolume * > > & glv)

Constructor - with arguments.

Definition at line 17 of file GlueVolumesDescriptor.cxx.

20 : m_glueVolumes(glv) {
21 Trk::GlueVolumeIterator searchIter = m_glueVolumes.begin();
23 // fill the available faces
24 for (; searchIter != endIter; ++searchIter)
25 m_glueFaces.push_back(searchIter->first);
26}
std::vector< BoundarySurfaceFace > m_glueFaces
std::map< BoundarySurfaceFace, std::vector< TrackingVolume * > > m_glueVolumes
std::map< BoundarySurfaceFace, std::vector< TrackingVolume * > >::iterator GlueVolumeIterator

◆ ~GlueVolumesDescriptor()

Trk::GlueVolumesDescriptor::~GlueVolumesDescriptor ( )
inline

Desctructor.

Definition at line 51 of file GlueVolumesDescriptor.h.

51{}

Member Function Documentation

◆ glueFaces()

const std::vector< BoundarySurfaceFace > & Trk::GlueVolumesDescriptor::glueFaces ( ) const
inline

retrieve the available Glue Faces

Definition at line 72 of file GlueVolumesDescriptor.h.

72 {
73 return m_glueFaces;
74}

◆ glueVolumes()

const std::vector< Trk::TrackingVolume * > & Trk::GlueVolumesDescriptor::glueVolumes ( Trk::BoundarySurfaceFace bsf)

retrieve them again

Definition at line 40 of file GlueVolumesDescriptor.cxx.

40 {
43
44 searchIter = m_glueVolumes.find(bsf);
45 if (searchIter != endIter) return searchIter->second;
46 return s_emptyVector;
47}
static const std::vector< TrackingVolume * > s_emptyVector
std::map< BoundarySurfaceFace, std::vector< TrackingVolume * > >::const_iterator GlueVolumeConstIterator

◆ registerGlueVolumes()

void Trk::GlueVolumesDescriptor::registerGlueVolumes ( Trk::BoundarySurfaceFace bsf,
std::vector< TrackingVolume * > & gvs )

register the volumes

<

Todo
change to addGlueVolumes principle

Definition at line 28 of file GlueVolumesDescriptor.cxx.

30 {
31 // register the face
32 Trk::GlueVolumeIterator searchIter = m_glueVolumes.begin();
33 searchIter = m_glueVolumes.find(bsf);
34 if (searchIter == m_glueVolumes.end()) m_glueFaces.push_back(bsf);
35 // simple assignment overwrites already existing entries
36 m_glueVolumes[bsf] = gvs;
37}

Member Data Documentation

◆ m_glueFaces

std::vector<BoundarySurfaceFace> Trk::GlueVolumesDescriptor::m_glueFaces
private

Definition at line 67 of file GlueVolumesDescriptor.h.

◆ m_glueVolumes

std::map<BoundarySurfaceFace, std::vector<TrackingVolume*> > Trk::GlueVolumesDescriptor::m_glueVolumes
private

Definition at line 66 of file GlueVolumesDescriptor.h.

◆ s_emptyVector

const std::vector< Trk::TrackingVolume * > Trk::GlueVolumesDescriptor::s_emptyVector
staticprivate

Definition at line 68 of file GlueVolumesDescriptor.h.


The documentation for this class was generated from the following files: