37 for (
const auto &[as, bs] :
39 if (as.index != bs.index) {
46 return (ag.indices == bg.indices and ag.segmentation == bg.segmentation and
47 ag.thickness == bg.thickness and ag.threshold == bg.threshold and
48 ag.digital == bg.digital);
62 if (not dInputConfig->geometricDigiConfig.indices.empty()) {
65 dInputConfig->geometricDigiConfig.indices;
67 dInputConfig->geometricDigiConfig.thickness;
69 dInputConfig->geometricDigiConfig.chargeSmearer;
71 dInputConfig->geometricDigiConfig.digital;
74 auto boundValues = sBounds.
values();
76 const auto &inputSegmentation =
77 dInputConfig->geometricDigiConfig.segmentation;
80 switch (sBounds.
type()) {
83 if (inputSegmentation.binningData()[0].binvalue ==
Acts::binX) {
86 unsigned int nBins =
static_cast<unsigned int>(
std::round(
87 (maxX - minX) / inputSegmentation.binningData()[0].step));
91 if (inputSegmentation.binningData()[0].binvalue ==
Acts::binY or
92 inputSegmentation.dimensions() == 2) {
93 unsigned int accessBin =
94 inputSegmentation.dimensions() == 2 ? 1 : 0;
97 unsigned int nBins =
static_cast<unsigned int>(
99 inputSegmentation.binningData()[accessBin].step));
100 outputSegmentation +=
107 if (inputSegmentation.binningData()[0].binvalue ==
Acts::binX) {
111 unsigned int nBins =
static_cast<unsigned int>(
std::round(
112 2 * maxX / inputSegmentation.binningData()[0].step));
113 outputSegmentation +=
116 if (inputSegmentation.binningData()[0].binvalue ==
Acts::binY or
117 inputSegmentation.dimensions() == 2) {
118 unsigned int accessBin =
119 inputSegmentation.dimensions() == 2 ? 1 : 0;
122 unsigned int nBins =
static_cast<unsigned int>(
124 inputSegmentation.binningData()[accessBin].step));
125 outputSegmentation +=
132 if (inputSegmentation.binningData()[0].binvalue ==
Acts::binR) {
135 unsigned int nBins =
static_cast<unsigned int>(
std::round(
136 (maxR - minR) / inputSegmentation.binningData()[0].step));
137 outputSegmentation +=
140 if (inputSegmentation.binningData()[0].binvalue ==
Acts::binPhi or
141 inputSegmentation.dimensions() == 2) {
142 unsigned int accessBin =
143 inputSegmentation.dimensions() == 2 ? 1 : 0;
150 unsigned int nBins =
static_cast<unsigned int>(
152 inputSegmentation.binningData()[accessBin].step));
166 if (inputSegmentation.binningData()[0].binvalue ==
Acts::binR) {
167 unsigned int nBins =
static_cast<unsigned int>(
std::round(
168 (maxR - minR) / inputSegmentation.binningData()[0].step));
169 outputSegmentation +=
172 if (inputSegmentation.binningData()[0].binvalue ==
Acts::binPhi or
173 inputSegmentation.dimensions() == 2) {
174 unsigned int accessBin =
175 inputSegmentation.dimensions() == 2 ? 1 : 0;
186 unsigned int nBins =
static_cast<unsigned int>(
std::round(
187 2 * alpha / inputSegmentation.binningData()[accessBin].step));
196 if (inputSegmentation.binningData()[0].binvalue ==
Acts::binR) {
199 unsigned int nBins =
static_cast<unsigned int>(
std::round(
200 (maxR - minR) / inputSegmentation.binningData()[0].step));
201 outputSegmentation +=
204 if (inputSegmentation.binningData()[0].binvalue ==
Acts::binPhi or
205 inputSegmentation.dimensions() == 2) {
206 unsigned int accessBin =
207 inputSegmentation.dimensions() == 2 ? 1 : 0;
216 unsigned int nBins =
static_cast<unsigned int>(
218 inputSegmentation.binningData()[accessBin].step));
241 digiConfigMaybeEqual(dOutputConfig, volRep->second)) {
255 digiConfigMaybeEqual(dOutputConfig, volLayRep->second)) {