Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-02 07:32:10

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 #pragma once
0010 
0011 #include "Acts/Definitions/Units.hpp"
0012 
0013 #include <cstddef>
0014 #include <limits>
0015 
0016 namespace Acts {
0017 
0018 /// @brief Contains parameters for quality seed confirmation
0019 /// @note Requirements on the number of compatible space-points and impact parameters can be defined
0020 /// for different (r, z) regions of the detector (e.g. forward or central
0021 /// region) by SeedConfirmationRange. Seeds are classified as "high-quality"
0022 /// seeds and normal quality seeds. Normal quality seeds are only selected if
0023 /// no other "high-quality" seed has been found for that inner-middle doublet.
0024 /// For optimization reasons, the algorithm only calls the seed confirmation
0025 /// for a certain inner-middle doublet, in case a configurable minimum number
0026 /// of inner-middle-outer triplets have been found.
0027 struct SeedConfirmationRangeConfig {
0028   /// Minimum z position of middle component of the seed used to
0029   /// split the region of the detector for seed confirmation
0030   float zMinSeedConf =
0031       std::numeric_limits<float>::lowest();  // Acts::UnitConstants::mm
0032 
0033   /// Maximum z position of middle component of the seed used to
0034   /// split the region of the detector for seed confirmation
0035   float zMaxSeedConf =
0036       std::numeric_limits<float>::max();  // Acts::UnitConstants::mm
0037 
0038   /// Radius position of inner seed component that is used to
0039   /// split the region of the detector for seed confirmation
0040   float rMaxSeedConf =
0041       std::numeric_limits<float>::max();  // Acts::UnitConstants::mm
0042 
0043   /// Minimum number of compatible outer space-points required in quality seed
0044   /// confirmation if inner space-points radius is larger than rMaxSeedConf
0045   std::size_t nTopForLargeR = 0;
0046   /// Minimum number of compatible outer space-points required in quality seed
0047   /// confirmation if inner space-points radius is smaller than rMaxSeedConf
0048   std::size_t nTopForSmallR = 0;
0049 
0050   /// Minimum radius for inner seed component required in quality seed
0051   /// confirmation
0052   float seedConfMinBottomRadius = 60. * Acts::UnitConstants::mm;
0053   /// Maximum longitudinal impact parameter of seed required in quality seed
0054   /// confirmation
0055   float seedConfMaxZOrigin = 150. * Acts::UnitConstants::mm;
0056   /// Minimum impact parameter of seed required in quality seed confirmation
0057   float minImpactSeedConf = 1. * Acts::UnitConstants::mm;
0058 };
0059 
0060 }  // namespace Acts