|
||||
Warning, file /include/Acts/Seeding/IExperimentCuts.hpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 // This file is part of the Acts project. 0002 // 0003 // Copyright (C) 2018 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 http://mozilla.org/MPL/2.0/. 0008 0009 #pragma once 0010 0011 #include "Acts/Seeding/CandidatesForMiddleSp.hpp" 0012 #include "Acts/Seeding/InternalSeed.hpp" 0013 0014 #include <limits> 0015 #include <memory> 0016 0017 namespace Acts { 0018 /// @c IExperimentCuts can be used to increase or decrease seed weights 0019 /// based on the space points used in a seed. Seed weights are also 0020 /// influenced by the SeedFilter default implementation. This tool is also used 0021 /// to decide if a seed passes a seed weight cut. As the weight is stored in 0022 /// seeds, there are two distinct methods. 0023 template <typename SpacePoint> 0024 class IExperimentCuts { 0025 public: 0026 virtual ~IExperimentCuts() = default; 0027 /// Returns seed weight bonus/malus depending on detector considerations. 0028 /// @param bottom bottom space point of the current seed 0029 /// @param middle middle space point of the current seed 0030 /// @param top top space point of the current seed 0031 /// @return seed weight to be added to the seed's weight 0032 virtual float seedWeight(const InternalSpacePoint<SpacePoint>& bottom, 0033 const InternalSpacePoint<SpacePoint>& middle, 0034 const InternalSpacePoint<SpacePoint>& top) const = 0; 0035 /// @param weight the current seed weight 0036 /// @param bottom bottom space point of the current seed 0037 /// @param middle middle space point of the current seed 0038 /// @param top top space point of the current seed 0039 /// @return true if the seed should be kept, false if the seed should be 0040 /// discarded 0041 virtual bool singleSeedCut( 0042 float weight, const InternalSpacePoint<SpacePoint>& bottom, 0043 const InternalSpacePoint<SpacePoint>& middle, 0044 const InternalSpacePoint<SpacePoint>& top) const = 0; 0045 0046 /// @param seedCandidates contains collection of seed candidates created for one middle 0047 /// space point in a std::tuple format 0048 /// @return vector of seed candidates that pass the cut 0049 virtual std::vector<typename CandidatesForMiddleSp< 0050 const InternalSpacePoint<SpacePoint>>::value_type> 0051 cutPerMiddleSP(std::vector<typename CandidatesForMiddleSp< 0052 const InternalSpacePoint<SpacePoint>>::value_type> 0053 seedCandidates) const = 0; 0054 }; 0055 } // 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 |