Belle II Software development
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/trackingUtilities/filters/base/UnionRecordingFilter.dcl.h>
13
14#include <tracking/trackingUtilities/varsets/BaseVarSet.h>
15
16#include <tracking/trackingUtilities/utilities/Relation.h>
17
18#include <vector>
19#include <string>
20#include <memory>
21
22namespace Belle2 {
27 namespace TrackingUtilities {
28 class CDCSegment2D;
29 }
30 namespace TrackFindingCDC {
31
34
35 private:
38
39 public:
41 std::vector<std::string> getValidVarSetNames() const override;
42
44 std::unique_ptr<TrackingUtilities::BaseVarSet<TrackingUtilities::Relation<const TrackingUtilities::CDCSegment2D> > >
45 createVarSet(const std::string& name) const override;
46 };
47 }
49}
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< TrackingUtilities::BaseVarSet< TrackingUtilities::Relation< const TrackingUtilities::CDCSegment2D > > > createVarSet(const std::string &name) const override
Create a concrete variables set for segment relations from a name.
TrackingUtilities::UnionRecordingFilter< SegmentRelationFilterFactory > Super
Type of the base class.
A reconstructed sequence of two dimensional hits in one super layer.
Convenience template to create a recording filter for a filter factory.
Abstract base class for different kinds of events.