Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-10-13 08:18:27

0001 // This file is part of the ACTS project.
0002 //
0003 // Copyright (C) 2016 CERN for the benefit of the ACTS project
0004 //
0005 // This Source Code Form is subject to the terms of the Mozilla Public
0006 // License, v. 2.0. If a copy of the MPL was not distributed with this
0007 // file, You can obtain one at https://mozilla.org/MPL/2.0/.
0008 
0009 #include "Acts/Seeding/SeedConfirmationRangeConfig.hpp"
0010 #include "Acts/Seeding/SeedFilterConfig.hpp"
0011 #include "Acts/Seeding/detail/CylindricalSpacePointGrid.hpp"
0012 #include "ActsPython/Utilities/Helpers.hpp"
0013 #include "ActsPython/Utilities/Macros.hpp"
0014 
0015 #include <pybind11/pybind11.h>
0016 #include <pybind11/stl.h>
0017 
0018 namespace py = pybind11;
0019 
0020 using namespace Acts;
0021 
0022 namespace ActsPython {
0023 
0024 /// Add the track finding related bindings to the module
0025 /// @param m The module to add the bindings to
0026 void addSeeding(py::module_& m) {
0027   {
0028     using Config = Acts::SeedFilterConfig;
0029     auto c = py::class_<Config>(m, "SeedFilterConfig").def(py::init<>());
0030     ACTS_PYTHON_STRUCT(
0031         c, deltaInvHelixDiameter, impactWeightFactor, zOriginWeightFactor,
0032         compatSeedWeight, deltaRMin, maxSeedsPerSpM, compatSeedLimit,
0033         seedConfirmation, centralSeedConfirmationRange,
0034         forwardSeedConfirmationRange, useDeltaRorTopRadius, seedWeightIncrement,
0035         numSeedIncrement, maxSeedsPerSpMConf, maxQualitySeedsPerSpMConf);
0036     patchKwargsConstructor(c);
0037   }
0038 
0039   {
0040     auto c = py::class_<Acts::SeedFinderOptions>(m, "SeedFinderOptions")
0041                  .def(py::init<>());
0042     ACTS_PYTHON_STRUCT(c, beamPos, bFieldInZ);
0043     patchKwargsConstructor(c);
0044   }
0045 
0046   {
0047     auto c = py::class_<Acts::SeedConfirmationRangeConfig>(
0048                  m, "SeedConfirmationRangeConfig")
0049                  .def(py::init<>());
0050     ACTS_PYTHON_STRUCT(c, zMinSeedConf, zMaxSeedConf, rMaxSeedConf,
0051                        nTopForLargeR, nTopForSmallR, seedConfMinBottomRadius,
0052                        seedConfMaxZOrigin, minImpactSeedConf);
0053     patchKwargsConstructor(c);
0054   }
0055 
0056   {
0057     auto c = py::class_<Acts::CylindricalSpacePointGridConfig>(
0058                  m, "SpacePointGridConfig")
0059                  .def(py::init<>());
0060 
0061     ACTS_PYTHON_STRUCT(c, minPt, rMax, zMax, zMin, phiMin, phiMax, deltaRMax,
0062                        cotThetaMax, phiBinDeflectionCoverage, maxPhiBins,
0063                        impactMax, zBinEdges);
0064     patchKwargsConstructor(c);
0065   }
0066   {
0067     auto c = py::class_<Acts::CylindricalSpacePointGridOptions>(
0068                  m, "SpacePointGridOptions")
0069                  .def(py::init<>());
0070 
0071     ACTS_PYTHON_STRUCT(c, bFieldInZ);
0072     patchKwargsConstructor(c);
0073   }
0074 }
0075 }  // namespace ActsPython