Class Acts::SeedFilter¶
-
template<typename external_spacepoint_t>
class SeedFilter¶ Filter seeds at various stages with the currently available information.
Public Functions
-
SeedFilter(SeedFilterConfig config, IExperimentCuts<external_spacepoint_t> *expCuts = nullptr)¶
-
SeedFilter() = delete¶
-
virtual ~SeedFilter() = default¶
-
virtual void filterSeeds_1SpFixed(CandidatesForMiddleSp<InternalSpacePoint<external_spacepoint_t>> &candidates_collector, std::size_t &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
candidates_collector – collection of seed candidates
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_1SpFixed(std::vector<typename CandidatesForMiddleSp<InternalSpacePoint<external_spacepoint_t>>::value_type> &candidates, std::size_t &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
candidates – collection of seed candidates
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, CandidatesForMiddleSp<InternalSpacePoint<external_spacepoint_t>> &candidates_collector) 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
candidates_collector – container for the seed candidates
-
inline const IExperimentCuts<external_spacepoint_t> *getExperimentCuts() const¶
-
inline const SeedFilterConfig getSeedFilterConfig() const¶
-
SeedFilter(SeedFilterConfig config, IExperimentCuts<external_spacepoint_t> *expCuts = nullptr)¶