DD4hep  01.18
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
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 
26 
36 
38 
39  public:
41  SurfaceManager(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 
56  SurfaceManager& operator=(const SurfaceManager& copy) = delete;
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(Detector& theDetector) ;
73 
75  };
76 
77  } /* namespace rec */
78 } /* namespace dd4hep */
79 
80 
81 
82 #endif // DDREC_SURFACEMANAGER_H
Surface manager class that holds maps of surfaces for all known sensitive detector types and individu...
void initialize(Detector &theDetector)
initialize all known surface maps
std::multimap< unsigned long, ISurface * > SurfaceMap
typedef for surface maps, keyed by the cellID
STL class.
std::map< std::string, SurfaceMap > SurfaceMapsMap
std::string toString() const
create a string with all available maps and their size (number of surfaces)
SurfaceManager & operator=(const SurfaceManager &copy)=delete
No assignment operator.
STL class.
~SurfaceManager()
Default destructor.
SurfaceManager()=delete
No default constructor.
const SurfaceMap * map(const std::string name) const
Get the maps of all surfaces associated to the given detector or type of detectors, e.g.