File SeedFilter.hpp¶
-
namespace Acts
Note
This file is foreseen for the
Geometry
module to replaceExtent
-
template<typename external_spacepoint_t>
class SeedFilter - #include <Acts/Seeding/SeedFilter.hpp>
Filter seeds at various stages with the currently available information.
Public Functions
-
SeedFilter(SeedFilterConfig config, IExperimentCuts<external_spacepoint_t> *expCuts = 0)
-
SeedFilter() = delete
-
virtual ~SeedFilter() = default
-
virtual void checkReplaceSeeds(InternalSpacePoint<external_spacepoint_t> &bottomSP, InternalSpacePoint<external_spacepoint_t> &middleSP, InternalSpacePoint<external_spacepoint_t> &topSp, float zOrigin, bool isQualitySeed, float weight, std::vector<std::pair<float, std::unique_ptr<const InternalSeed<external_spacepoint_t>>>> &outCont) const
Check if there is a lower quality seed that can be replaced.
- Parameters
bottomSP – fixed bottom space point
middleSP – fixed middle space point
topSp – fixed top space point
zOrigin – on the z axis as defined by bottom and middle space point
isQualitySeed – information whether the seed is quality confirmed or not
weight – weight of the seed
outCont – container for the seeds
-
virtual void filterSeeds_1SpFixed(std::vector<std::pair<float, std::unique_ptr<const InternalSeed<external_spacepoint_t>>>> &seedsPerSpM, int &numQualitySeeds, std::back_insert_iterator<std::vector<Seed<external_spacepoint_t>>> outIt) const
Filter seeds once all seeds for one middle space point have been created.
- Parameters
seedsPerSpM – vector of pairs containing weight and seed for all
numQualitySeeds – number of high quality seeds in seed confirmation
outIt – Output iterator for the seeds for all seeds with the same middle space point
-
virtual void filterSeeds_2SpFixed(InternalSpacePoint<external_spacepoint_t> &bottomSP, InternalSpacePoint<external_spacepoint_t> &middleSP, std::vector<InternalSpacePoint<external_spacepoint_t>*> &topSpVec, std::vector<float> &invHelixDiameterVec, std::vector<float> &impactParametersVec, SeedFilterState &seedFilterState, std::vector<std::pair<float, std::unique_ptr<const InternalSeed<external_spacepoint_t>>>> &outCont) const
Create InternalSeeds for the all seeds with the same bottom and middle space point and discard all others.
- Parameters
bottomSP – fixed bottom space point
middleSP – fixed middle space point
topSpVec – vector containing all space points that may be compatible with both bottom and middle space point
invHelixDiameterVec – vector containing 1/(2*r) values where r is the helix radius
impactParametersVec – vector containing the impact parameters
seedFilterState – holds quantities used in seed filter
outCont – Output container for the seeds
-
inline const IExperimentCuts<external_spacepoint_t> *getExperimentCuts() const
-
inline const SeedFilterConfig getSeedFilterConfig() const
Private Members
-
const SeedFilterConfig m_cfg¶
-
const IExperimentCuts<external_spacepoint_t> *m_experimentCuts¶
-
SeedFilter(SeedFilterConfig config, IExperimentCuts<external_spacepoint_t> *expCuts = 0)
-
struct SeedFilterState¶
- #include <Acts/Seeding/SeedFilter.hpp>
-
template<typename external_spacepoint_t>