24 template <
typename SpacePo
int>
26 std::shared_ptr<Acts::SeedFilter<SpacePoint>>
seedFilter;
180 throw std::runtime_error(
181 "Repeated conversion to internal units for SeedFinderConfig");
186 throw std::runtime_error(
187 "Invalid values for the seed filter inside the seed filter config: "
190 if (not seedFilter->getSeedFilterConfig().isInInternalUnits) {
191 throw std::runtime_error(
192 "The internal Seed Filter configuration, contained in the seed "
193 "finder config, is not in internal units.");
196 using namespace Acts::UnitLiterals;
198 config.isInInternalUnits =
true;
203 config.deltaRMinTopSP /= 1_mm;
204 config.deltaRMaxTopSP /= 1_mm;
205 config.deltaRMinBottomSP /= 1_mm;
206 config.deltaRMaxBottomSP /= 1_mm;
207 config.deltaRMiddleMinSPRange /= 1_mm;
208 config.deltaRMiddleMaxSPRange /= 1_mm;
210 config.maxPtScattering /= 1_MeV;
211 config.collisionRegionMin /= 1_mm;
212 config.collisionRegionMax /= 1_mm;
222 config.toleranceParam /= 1_mm;
247 float pTPerHelixRadius = std::numeric_limits<float>::quiet_NaN();
248 float minHelixDiameter2 = std::numeric_limits<float>::quiet_NaN();
249 float pT2perRadius = std::numeric_limits<float>::quiet_NaN();
250 float sigmapT2perRadius = std::numeric_limits<float>::quiet_NaN();
251 float multipleScattering2 = std::numeric_limits<float>::quiet_NaN();
257 throw std::runtime_error(
258 "Repeated conversion to internal units for SeedFinderOptions");
260 using namespace Acts::UnitLiterals;
262 options.isInInternalUnits =
true;
266 options.bFieldInZ /= 1000. * 1_T;
270 template <
typename Config>
272 using namespace Acts::UnitLiterals;
275 throw std::runtime_error(
276 "Derived quantities in SeedFinderOptions can only be calculated from "
277 "Acts internal units");
285 std::pow(config.minPt * 2 /
options.pTPerHelixRadius, 2);
287 std::pow(config.highland /
options.pTPerHelixRadius, 2);
289 options.pT2perRadius * std::pow(2 * config.sigmaScattering, 2);
291 config.maxScatteringAngle2 * std::pow(config.sigmaScattering, 2);