Belle II Software  release-08-01-10
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 namespace Belle2 {
23  class ModuleParamList;
24 
25  namespace TrackFindingCDC {
26 
28  template<class AObject>
30 
31  public:
33  using Object = AObject;
34 
37 
38  public:
40  Filter();
41 
43  virtual ~Filter();
44 
52  virtual void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix);
53 
55  virtual bool needsTruthInformation();
56 
57  public:
66  virtual Weight operator()(const Object& obj);
67 
76  Weight operator()(const Object* obj);
77  };
78  }
80 }
The Module parameter list class.
Partial implemenation 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:29
virtual void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix)
Expose the set of parameters of the filter to the module parameter list.
Definition: Filter.icc.h:40
AObject Object
Type of the object to be analysed.
Definition: Filter.dcl.h:33
virtual Weight operator()(const Object &obj)
Function to evaluate the object.
Definition: Filter.icc.h:52
Filter()
Default constructor.
virtual bool needsTruthInformation()
Indicates if the filter requires Monte Carlo information.
Definition: Filter.icc.h:46
virtual ~Filter()
Make destructor of interface class virtual.
Abstract base class for different kinds of events.