Back to home page

EIC code displayed by LXR

 
 

    


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

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     : M.Frank
0011 //
0012 //==========================================================================
0013 #ifndef DDDIGI_SEGMENTATIONS_SEGMENTATIONSCANNER_H
0014 #define DDDIGI_SEGMENTATIONS_SEGMENTATIONSCANNER_H
0015 
0016 /// Framework include files
0017 #include <DDDigi/DigiSegmentation.h>
0018 #include <DDDigi/DigiFactories.h>
0019 
0020 /// Namespace for the AIDA detector description toolkit
0021 namespace dd4hep {
0022 
0023   /// Namespace for the Digitization part of the AIDA detector description toolkit
0024   namespace digi {
0025 
0026     /// 
0027     /**
0028      *
0029      *  \author  M.Frank
0030      *  \version 1.0
0031      *  \ingroup DD4HEP_DIGITIZATION
0032      */
0033     template <typename SEGMENTATION, typename SOLID> class CellScanner : public DigiCellScanner  {
0034     public:
0035       typedef SOLID                                   solid_t;
0036       typedef SEGMENTATION                            segmentation_t;
0037       typedef CellScanner<segmentation_t, solid_t>    self_t;
0038       typedef cell_data<segmentation_t>               cell_data_t;
0039       typedef segmentation_data<segmentation_t>       segmentation_data_t;
0040       typedef DigiCellScanner::cell_handler_t         cell_handler_t;
0041 
0042       segmentation_data_t segment;
0043       CellScanner(segmentation_t seg)   {
0044         init_segmentation_data<segmentation_t>(segment, seg);
0045       }
0046       virtual void operator()(DigiContext& context, PlacedVolume pv, VolumeID vid, const cell_handler_t& cell_handler)  override;
0047     };
0048   }    // End namespace digi
0049 }      // End namespace dd4hep
0050 #endif // DDDIGI_SEGMENTATIONS_SEGMENTATIONSCANNER_H