Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-10-03 09:05:14

0001 //==========================================================================
0002 //  AIDA Detector description implementation 
0003 //--------------------------------------------------------------------------
0004 // Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
0005 // All rights reserved.
0006 //
0007 // For the licensing terms see $DD4hepINSTALL/LICENSE.
0008 // For the list of contributors see $DD4hepINSTALL/doc/CREDITS.
0009 //
0010 // Author     : F.Gaede
0011 //
0012 //==========================================================================
0013 #ifndef DDREC_SURFACEHELPER_H
0014 #define DDREC_SURFACEHELPER_H
0015 
0016 #include "DDRec/Surface.h"
0017 
0018 namespace dd4hep {
0019   namespace rec {
0020 
0021     /** Surface helper class that allows to access all surfaces
0022      *  assigned to a DetElement and all its daughters.
0023      *  (originally this was called SurfaceManager).
0024      *
0025      * @author F.Gaede, DESY
0026      * @date Apr, 11 2014
0027      * @version $Id: $
0028      */
0029     class SurfaceHelper {
0030 
0031     public:
0032 
0033       SurfaceHelper(const DetElement& e);
0034       
0035       ~SurfaceHelper() = default;
0036       SurfaceHelper(const SurfaceHelper&) = delete;
0037       SurfaceHelper& operator=(const SurfaceHelper&) = delete;
0038       SurfaceHelper(SurfaceHelper&&) = default;
0039       SurfaceHelper& operator=(SurfaceHelper&&) = delete;
0040       
0041       /** Get the list of all surfaces added to this DetElement and all its daughters -
0042        *  instantiate SurfaceHelper with description.world() to get all surfaces.
0043        */
0044       const SurfaceList& surfaceList() { return _sL ; }
0045 
0046     protected :
0047       SurfaceList  _sL ;
0048       const DetElement& _det ;
0049 
0050       /// initializes surfaces from VolSurfaces assigned to this DetElement in detector construction
0051       void initialize() ;
0052 
0053     };
0054 
0055   } /* namespace rec */
0056 } /* namespace dd4hep */
0057 
0058 
0059 
0060 #endif // DDREC_SURFACEHELPER_H