Belle II Software development
Filter.dcl.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/base/Filter.fwd.h>
11
12#include <tracking/trackFindingCDC/utilities/CompositeProcessingSignalListener.h>
13
14#include <tracking/trackFindingCDC/numerics/Weight.h>
15
16#include <string>
17
18#include <vector>
19
20namespace Belle2 {
25 class ModuleParamList;
26
27 namespace TrackFindingCDC {
28
30 template<class AObject>
32
33 public:
35 using Object = AObject;
36
39
40 public:
43
45 virtual ~Filter();
46
48 virtual bool needsTruthInformation();
49
50 public:
59 virtual Weight operator()(const Object& obj);
60
69 Weight operator()(const Object* obj);
70
77 virtual std::vector<float> operator()(const std::vector <Object*>& objs);
78 };
79 }
81}
Partial implementation for an algorithm part that wants to dispatch processing signals to subobjects.
Base class for filters on a generic object type.
Definition: Filter.dcl.h:31
AObject Object
Type of the object to be analysed.
Definition: Filter.dcl.h:35
virtual Weight operator()(const Object &obj)
Function to evaluate the object.
Definition: Filter.icc.h:46
Filter()
Default constructor.
virtual bool needsTruthInformation()
Indicates if the filter requires Monte Carlo information.
Definition: Filter.icc.h:40
virtual ~Filter()
Make destructor of interface class virtual.
Abstract base class for different kinds of events.