ATLAS Offline Software
Public Member Functions | Private Attributes | Static Private Attributes | List of all members
Trk::GlueVolumesDescriptor Class Reference

#include <GlueVolumesDescriptor.h>

Collaboration diagram for Trk::GlueVolumesDescriptor:

Public Member Functions

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

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();
22  Trk::GlueVolumeIterator endIter = m_glueVolumes.end();
23  // fill the available faces
24  for (; searchIter != endIter; ++searchIter)
25  m_glueFaces.push_back(searchIter->first);
26 }

◆ ~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  {
41  Trk::GlueVolumeConstIterator searchIter = m_glueVolumes.begin();
43 
44  searchIter = m_glueVolumes.find(bsf);
45  if (searchIter != endIter) return searchIter->second;
46  return s_emptyVector;
47 }

◆ 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:
Trk::GlueVolumeIterator
std::map< BoundarySurfaceFace, std::vector< TrackingVolume * > >::iterator GlueVolumeIterator
Definition: GlueVolumesDescriptor.h:23
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::GlueVolumesDescriptor::m_glueVolumes
std::map< BoundarySurfaceFace, std::vector< TrackingVolume * > > m_glueVolumes
Definition: GlueVolumesDescriptor.h:66
Trk::GlueVolumesDescriptor::s_emptyVector
static const std::vector< TrackingVolume * > s_emptyVector
Definition: GlueVolumesDescriptor.h:68