Belle II Software  release-08-01-10
UnionRecordingFacetRelationFilter.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/facetRelation/FacetRelationFilterFactory.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 CDCFacet;
29 
31  class UnionRecordingFacetRelationFilter: public UnionRecordingFilter<FacetRelationFilterFactory> {
32 
33  private:
36 
37  public:
39  std::vector<std::string> getValidVarSetNames() const override;
40 
42  std::unique_ptr<BaseVarSet<Relation<const CDCFacet> > >
43  createVarSet(const std::string& name) const override;
44  };
45  }
47 }
AFilter Super
Type of the base class.
Filter to record multiple chooseable variable sets for facet relations.
std::vector< std::string > getValidVarSetNames() const override
Get the valid names of variable sets for facet relations.
std::unique_ptr< BaseVarSet< Relation< const CDCFacet > > > createVarSet(const std::string &name) const override
Create a concrete variables set for facet relations from a name.
Convience template to create a recording filter for a filter factory.
Abstract base class for different kinds of events.