19 #include <type_traits>
22 namespace ActsExamples {
23 struct AlgorithmContext;
38 printConfig<SimSpacePoint>();
41 throw std::invalid_argument(
"Missing space point input collections");
46 throw std::invalid_argument(
"Invalid space point input collection");
53 handle->initialize(spName);
57 throw std::invalid_argument(
"Missing seeds output collection");
64 throw std::invalid_argument(
"Inconsistent config maxSeedsPerSpM");
69 std::make_unique<Acts::SeedFilter<SimSpacePoint>>(
77 std::vector<const SimSpacePoint *> spacePoints;
79 for (
const auto &isp : m_inputSpacePoints) {
80 for (
const auto &spacePoint : (*isp)(ctx)) {
81 spacePoints.push_back(&spacePoint);
87 std::function<std::pair<Acts::Vector3, Acts::Vector2>(
92 return std::make_pair(
position, variance);
96 spacePoints, create_coordinates);
98 ACTS_DEBUG(
"Created " << seeds.size() <<
" track seeds from "
99 << spacePoints.size() <<
" space points");
112 ACTS_DEBUG(
"pTPerHelixRadius " <<
m_cfg.seedFinderOptions.pTPerHelixRadius);
113 ACTS_DEBUG(
"minHelixDiameter2 " <<
m_cfg.seedFinderOptions.minHelixDiameter2);
115 ACTS_DEBUG(
"sigmapT2perRadius " <<
m_cfg.seedFinderOptions.sigmapT2perRadius);
119 template <
typename sp>
123 ACTS_DEBUG(
"deltaRMinTopSP " <<
m_cfg.seedFinderConfig.deltaRMinTopSP);
124 ACTS_DEBUG(
"deltaRMaxTopSP " <<
m_cfg.seedFinderConfig.deltaRMaxTopSP);
126 <<
m_cfg.seedFinderConfig.deltaRMinBottomSP);
128 <<
m_cfg.seedFinderConfig.deltaRMaxBottomSP);
131 <<
m_cfg.seedFinderConfig.maxPtScattering);
133 <<
m_cfg.seedFinderConfig.collisionRegionMin);
135 <<
m_cfg.seedFinderConfig.collisionRegionMax);
142 <<
m_cfg.seedFinderConfig.maxScatteringAngle2);