|
|
|||
File indexing completed on 2025-12-13 09:39:03
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/EventData/SeedContainer2.hpp" 0012 #include "Acts/EventData/SpacePointContainer2.hpp" 0013 #include "Acts/Seeding2/DoubletSeedFinder.hpp" 0014 #include "Acts/Seeding2/TripletSeedFinder.hpp" 0015 0016 namespace Acts { 0017 0018 /// Interface for triplet seed filtering. 0019 /// 0020 /// The filter is expected to be stateful and maintain internal information 0021 /// across calls. 0022 class ITripletSeedFilter { 0023 public: 0024 virtual ~ITripletSeedFilter() = default; 0025 0026 /// @brief Check if there are sufficient top doublets for triplet formation 0027 /// @param spacePoints Container of space points 0028 /// @param spM Middle space point proxy 0029 /// @param topDoublets Collection of top doublets for the middle space point 0030 /// @return True if sufficient doublets are available for triplet seeds 0031 virtual bool sufficientTopDoublets( 0032 const SpacePointContainer2& spacePoints, const ConstSpacePointProxy2& spM, 0033 const DoubletsForMiddleSp& topDoublets) const = 0; 0034 0035 /// Create seed candidates with fixed bottom and middle space points and 0036 /// all compatible top space points. 0037 /// 0038 /// @param spacePoints Container with all space points 0039 /// @param spM Fixed middle space point 0040 /// @param bottomLink Link to the bottom doublet space point 0041 /// @param tripletTopCandidates Collection of triplet top candidates 0042 virtual void filterTripletTopCandidates( 0043 const SpacePointContainer2& spacePoints, const ConstSpacePointProxy2& spM, 0044 const DoubletsForMiddleSp::Proxy& bottomLink, 0045 const TripletTopCandidates& tripletTopCandidates) const = 0; 0046 0047 /// Create final seeds for all candidates with the same middle space point 0048 /// 0049 /// @param spacePoints Container with all space points 0050 /// @param outputCollection Output container for the seeds 0051 virtual void filterTripletsMiddleFixed( 0052 const SpacePointContainer2& spacePoints, 0053 SeedContainer2& outputCollection) const = 0; 0054 }; 0055 0056 } // namespace Acts
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|