File indexing completed on 2025-01-18 09:55:20
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 #ifndef DDDIGI_SEGMENTATIONS_SEGMENTATIONSCANNER_H
0014 #define DDDIGI_SEGMENTATIONS_SEGMENTATIONSCANNER_H
0015
0016
0017 #include <DDDigi/DigiSegmentation.h>
0018 #include <DDDigi/DigiFactories.h>
0019
0020
0021 namespace dd4hep {
0022
0023
0024 namespace digi {
0025
0026
0027
0028
0029
0030
0031
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 }
0049 }
0050 #endif