35 name, {
"inputHits"}, {
"outputSubcellHits"},
"Split hits into subcell hits"} {}
38 void process(const Input&, const Output&) const final;
41 typedef struct stagger_pattern {
45 std::vector<double> neighbor_offsets_x;
46 std::vector<double> neighbor_offsets_y;
47 std::vector<std::vector<int>> neighbor_indices;
48 std::vector<double> subcell_offsets_x;
49 std::vector<double> subcell_offsets_y;
53 static const int SUBCELLS_H4 = 12;
55 static const int NEIGHBORS_H4 = 12;
57 static const int OVERLAP_H4 = 3;
59 static const std::vector<double> neighbor_offsets_x_H4;
60 static const std::vector<double> neighbor_offsets_y_H4;
62 static const std::vector<std::vector<int>> neighbor_indices_H4;
64 static const std::vector<double> subcell_offsets_x_H4;
65 static const std::vector<double> subcell_offsets_y_H4;
67 const stagger_pattern stag_H4 = {
68 .SUBCELLS = SUBCELLS_H4,
69 .NEIGHBORS = NEIGHBORS_H4,
70 .OVERLAP = OVERLAP_H4,
71 .neighbor_offsets_x = neighbor_offsets_x_H4,
72 .neighbor_offsets_y = neighbor_offsets_y_H4,
73 .neighbor_indices = neighbor_indices_H4,
74 .subcell_offsets_x = subcell_offsets_x_H4,
75 .subcell_offsets_y = subcell_offsets_y_H4,
78 static const int SUBCELLS_S2 = 4;
80 static const int NEIGHBORS_S2 = 4;
82 static const int OVERLAP_S2 = 1;
84 static const std::vector<double> neighbor_offsets_x_S2;
85 static const std::vector<double> neighbor_offsets_y_S2;
87 static const std::vector<std::vector<int>> neighbor_indices_S2;
89 static const std::vector<double> subcell_offsets_x_S2;
90 static const std::vector<double> subcell_offsets_y_S2;
92 const stagger_pattern stag_S2 = {
93 .SUBCELLS = SUBCELLS_S2,
94 .NEIGHBORS = NEIGHBORS_S2,
95 .OVERLAP = OVERLAP_S2,
96 .neighbor_offsets_x = neighbor_offsets_x_S2,
97 .neighbor_offsets_y = neighbor_offsets_y_S2,
98 .neighbor_indices = neighbor_indices_S2,
99 .subcell_offsets_x = subcell_offsets_x_S2,
100 .subcell_offsets_y = subcell_offsets_y_S2,
103 stagger_pattern stag = stag_H4;
106 const dd4hep::Detector* m_detector{algorithms::GeoSvc::instance().detector()};