Belle II Software  release-08-01-10
SegmentPairRelationFilterFactory.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 #pragma once
9 
10 #include <tracking/trackFindingCDC/filters/segmentPairRelation/BaseSegmentPairRelationFilter.h>
11 
12 #include <tracking/trackFindingCDC/filters/base/FilterFactory.dcl.h>
13 
14 namespace Belle2 {
19  namespace TrackFindingCDC {
20  // Guard to prevent repeated instantiations
21  extern template class FilterFactory<BaseSegmentPairRelationFilter>;
22 
25 
26  private:
29 
30  public:
32  explicit SegmentPairRelationFilterFactory(const std::string& defaultFilterName = "realistic");
33 
35  std::string getIdentifier() const final;
36 
38  std::string getFilterPurpose() const final;
39 
41  std::map<std::string, std::string> getValidFilterNamesAndDescriptions() const final;
42 
44  std::unique_ptr<BaseSegmentPairRelationFilter> create(const std::string& filterName) const final;
45  };
46  }
48 }
Base class for filtering the neighborhood of axial stereo segment pairs.
Factory that can create appropriate segment pair relation filters from associated names.
Abstract base class for different kinds of events.