Belle II Software development
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
22namespace 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}
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.
Convenience template to create a recording filter for a filter factory.
Abstract base class for different kinds of events.