DD4hep  1.34.0
Detector Description Toolkit for High Energy Physics
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
dd4hep::rec::SurfaceManager Class Reference

#include <SurfaceManager.h>

Public Member Functions

 SurfaceManager (const Detector &theDetector)
 The constructor. More...
 
 SurfaceManager ()=delete
 No default constructor. More...
 
 ~SurfaceManager ()=default
 
 SurfaceManager (const SurfaceManager &)=delete
 
SurfaceManageroperator= (const SurfaceManager &)=delete
 
 SurfaceManager (SurfaceManager &&)=delete
 
SurfaceManageroperator= (SurfaceManager &&)=delete
 
const SurfaceMapmap (const std::string &name) const
 
std::string toString () const
 create a string with all available maps and their size (number of surfaces) More...
 

Private Types

typedef std::map< std::string, SurfaceMapSurfaceMapsMap
 

Private Member Functions

void initialize (const Detector &theDetector) const
 initialize all known surface maps More...
 

Private Attributes

SurfaceMapsMap _map {}
 
const Detector_theDetector
 
std::once_flag _initializedFlag {}
 

Detailed Description

Surface manager class that holds maps of surfaces for all known sensitive detector types and individual sub detectors. Maps can be retrieved via detector name.

Author
F.Gaede, DESY
Date
May, 11 2015
Version
$Id$

Definition at line 35 of file SurfaceManager.h.

Member Typedef Documentation

◆ SurfaceMapsMap

typedef std::map< std::string, SurfaceMap > dd4hep::rec::SurfaceManager::SurfaceMapsMap
private

Definition at line 37 of file SurfaceManager.h.

Constructor & Destructor Documentation

◆ SurfaceManager() [1/4]

dd4hep::rec::SurfaceManager::SurfaceManager ( const Detector theDetector)

The constructor.

Definition at line 25 of file SurfaceManager.cpp.

◆ SurfaceManager() [2/4]

dd4hep::rec::SurfaceManager::SurfaceManager ( )
delete

No default constructor.

◆ ~SurfaceManager()

dd4hep::rec::SurfaceManager::~SurfaceManager ( )
default

◆ SurfaceManager() [3/4]

dd4hep::rec::SurfaceManager::SurfaceManager ( const SurfaceManager )
delete

◆ SurfaceManager() [4/4]

dd4hep::rec::SurfaceManager::SurfaceManager ( SurfaceManager &&  )
delete

Member Function Documentation

◆ initialize()

void dd4hep::rec::SurfaceManager::initialize ( const Detector theDetector) const
private

initialize all known surface maps

Definition at line 49 of file SurfaceManager.cpp.

◆ map()

const SurfaceMap * dd4hep::rec::SurfaceManager::map ( const std::string &  name) const

Get the maps of all surfaces associated to the given detector or type of detectors, e.g. map("tracker") returns a map with all surfaces assigned to tracking detectors. Returns 0 if no map exists.

Definition at line 35 of file SurfaceManager.cpp.

◆ operator=() [1/2]

SurfaceManager& dd4hep::rec::SurfaceManager::operator= ( const SurfaceManager )
delete

◆ operator=() [2/2]

SurfaceManager& dd4hep::rec::SurfaceManager::operator= ( SurfaceManager &&  )
delete

◆ toString()

std::string dd4hep::rec::SurfaceManager::toString ( ) const

create a string with all available maps and their size (number of surfaces)

Definition at line 84 of file SurfaceManager.cpp.

Member Data Documentation

◆ _initializedFlag

std::once_flag dd4hep::rec::SurfaceManager::_initializedFlag {}
mutableprivate

Definition at line 71 of file SurfaceManager.h.

◆ _map

SurfaceMapsMap dd4hep::rec::SurfaceManager::_map {}
mutableprivate

Definition at line 69 of file SurfaceManager.h.

◆ _theDetector

const Detector& dd4hep::rec::SurfaceManager::_theDetector
private

Definition at line 70 of file SurfaceManager.h.


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