Class Acts::SeedFilter

template<typename external_spacepoint_t>
class Acts::SeedFilter

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 filterSeeds_1SpFixed(std::vector<std::pair<float, std::unique_ptr<const InternalSeed<external_spacepoint_t>>>> &seedsPerSpM, 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

  • outIt – Output iterator for the seeds for all seeds with the same middle space point

virtual void filterSeeds_2SpFixed(const InternalSpacePoint<external_spacepoint_t> &bottomSP, const InternalSpacePoint<external_spacepoint_t> &middleSP, std::vector<const InternalSpacePoint<external_spacepoint_t>*> &topSpVec, std::vector<float> &invHelixDiameterVec, std::vector<float> &impactParametersVec, float zOrigin, std::back_insert_iterator<std::vector<std::pair<float, std::unique_ptr<const InternalSeed<external_spacepoint_t>>>>> outIt) 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

  • zOrigin – on the z axis as defined by bottom and middle space point

  • outIt – Output iterator for the seeds

inline const IExperimentCuts<external_spacepoint_t> *getExperimentCuts() const
inline const SeedFilterConfig getSeedFilterConfig() const