Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:55:25

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();
0036       
0037       /** Get the list of all surfaces added to this DetElement and all its daughters -
0038        *  instantiate SurfaceHelper with description.world() to get all surfaces.
0039        */
0040       const SurfaceList& surfaceList() { return _sL ; }
0041 
0042     protected :
0043       SurfaceList  _sL ;
0044       const DetElement& _det ;
0045 
0046       /// initializes surfaces from VolSurfaces assigned to this DetElement in detector construction
0047       void initialize() ;
0048 
0049     };
0050 
0051   } /* namespace rec */
0052 } /* namespace dd4hep */
0053 
0054 
0055 
0056 #endif // DDREC_SURFACEHELPER_H