DD4hep  1.30.0
Detector Description Toolkit for High Energy Physics
SurfaceManager.h
Go to the documentation of this file.
1 //==========================================================================
2 // AIDA Detector description implementation
3 //--------------------------------------------------------------------------
4 // Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
5 // All rights reserved.
6 //
7 // For the licensing terms see $DD4hepINSTALL/LICENSE.
8 // For the list of contributors see $DD4hepINSTALL/doc/CREDITS.
9 //
10 // Author : F.Gaede
11 //
12 //==========================================================================
13 #ifndef DDREC_SURFACEMANAGER_H
14 #define DDREC_SURFACEMANAGER_H
15 
16 #include "DDRec/ISurface.h"
17 #include "DD4hep/Detector.h"
18 #include <string>
19 #include <map>
20 
21 namespace dd4hep {
22  namespace rec {
23 
25  typedef std::multimap< unsigned long, ISurface*> SurfaceMap ;
26 
36 
37  typedef std::map< std::string, SurfaceMap > SurfaceMapsMap ;
38 
39  public:
41  SurfaceManager(const Detector& theDetector);
42 
44 #if defined(G__ROOT)
45  SurfaceManager() = default ;
46 #else
47  SurfaceManager() = delete ;
48 #endif
49  SurfaceManager(const SurfaceManager& copy) = delete;
51 
54 
57 
62  const SurfaceMap* map( const std::string name ) const ;
63 
64 
66  std::string toString() const ;
67 
68  protected :
69 
70 
72  void initialize(const Detector& theDetector) ;
73 
75  };
76 
77  } /* namespace rec */
78 } /* namespace dd4hep */
79 
80 
81 
82 #endif // DDREC_SURFACEMANAGER_H
ISurface.h
Detector.h
dd4hep::rec::SurfaceManager::toString
std::string toString() const
create a string with all available maps and their size (number of surfaces)
Definition: SurfaceManager.cpp:92
dd4hep::rec::SurfaceMap
std::multimap< unsigned long, ISurface * > SurfaceMap
typedef for surface maps, keyed by the cellID
Definition: SurfaceManager.h:25
dd4hep::rec::SurfaceManager::initialize
void initialize(const Detector &theDetector)
initialize all known surface maps
Definition: SurfaceManager.cpp:55
SurfaceManager
Plugin that creates a SurfaceManager object and attaches it to description as a user extension object...
dd4hep::rec::SurfaceManager::~SurfaceManager
~SurfaceManager()
Default destructor.
Definition: SurfaceManager.cpp:38
dd4hep::rec::SurfaceManager::operator=
SurfaceManager & operator=(const SurfaceManager &copy)=delete
No assignment operator.
dd4hep::rec::SurfaceManager::SurfaceMapsMap
std::map< std::string, SurfaceMap > SurfaceMapsMap
Definition: SurfaceManager.h:37
dd4hep::rec::SurfaceManager::_map
SurfaceMapsMap _map
Definition: SurfaceManager.h:74
dd4hep::rec::SurfaceManager::SurfaceManager
SurfaceManager()=delete
No default constructor.
dd4hep
Namespace for the AIDA detector description toolkit.
Definition: AlignmentsCalib.h:28
dd4hep::Detector
The main interface to the dd4hep detector description package.
Definition: Detector.h:90
dd4hep::detail::tools::copy
void copy(Alignment from, Alignment to)
Copy alignment object from source object.
Definition: AlignmentTools.cpp:43
dd4hep::rec::SurfaceManager::map
const SurfaceMap * map(const std::string name) const
Definition: SurfaceManager.cpp:43