Belle II Software  release-08-01-10
UnionRecordingSegmentRelationFilter.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/segmentRelation/SegmentRelationFilterFactory.h>
11 
12 #include <tracking/trackFindingCDC/filters/base/UnionRecordingFilter.dcl.h>
13 
14 #include <tracking/trackFindingCDC/varsets/BaseVarSet.h>
15 
16 #include <tracking/trackFindingCDC/utilities/Relation.h>
17 
18 #include <vector>
19 #include <string>
20 #include <memory>
21 
22 namespace Belle2 {
27  namespace TrackFindingCDC {
28  class CDCSegment2D;
29 
31  class UnionRecordingSegmentRelationFilter : public UnionRecordingFilter<SegmentRelationFilterFactory> {
32 
33  private:
36 
37  public:
39  std::vector<std::string> getValidVarSetNames() const override;
40 
42  std::unique_ptr<BaseVarSet<Relation<const CDCSegment2D> > >
43  createVarSet(const std::string& name) const override;
44  };
45  }
47 }
AFilter Super
Type of the base class.
Convience template to create a recording filter for a filter factory.
Filter to record multiple chooseable variable sets for segment relations.
std::vector< std::string > getValidVarSetNames() const override
Get the valid names of variable sets for segment relations.
std::unique_ptr< BaseVarSet< Relation< const CDCSegment2D > > > createVarSet(const std::string &name) const override
Create a concrete variables set for segment relations from a name.
Abstract base class for different kinds of events.