Belle II Software  release-05-02-19
Filter.dcl.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2015 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Oliver Frost *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 
12 #include <tracking/trackFindingCDC/filters/base/Filter.fwd.h>
13 
14 #include <tracking/trackFindingCDC/utilities/CompositeProcessingSignalListener.h>
15 
16 #include <tracking/trackFindingCDC/numerics/Weight.h>
17 
18 #include <string>
19 
20 namespace Belle2 {
25  class ModuleParamList;
26 
27  namespace TrackFindingCDC {
28 
30  template<class AObject>
31  class Filter : public CompositeProcessingSignalListener {
32 
33  public:
35  using Object = AObject;
36 
38  using Interface = Filter<AObject>;
39 
40  public:
42  Filter();
43 
45  virtual ~Filter();
46 
54  virtual void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix);
55 
57  virtual bool needsTruthInformation();
58 
59  public:
68  virtual Weight operator()(const Object& obj);
69 
78  Weight operator()(const Object* obj);
79  };
80  }
82 }
Belle2::TrackFindingCDC::Relation
Type for two related objects.
Definition: CDCSegment2D.h:37
Belle2::TrackFindingCDC::Filter::Filter
Filter()
Default constructor.
Belle2::TrackFindingCDC::Filter::~Filter
virtual ~Filter()
Make destructor of interface class virtual.
Belle2::TrackFindingCDC::Filter::operator()
virtual Weight operator()(const Object &obj)
Function to evaluate the object.
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TrackFindingCDC::Filter::needsTruthInformation
virtual bool needsTruthInformation()
Indicates if the filter requires Monte Carlo information.
Definition: Filter.icc.h:48
Belle2::TrackFindingCDC::Filter::exposeParameters
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:42
Belle2::ModuleParamList
The Module parameter list class.
Definition: ModuleParamList.h:46
Belle2::TrackFindingCDC::Filter::Interface
Filter< AObject > Interface
Mark this class as the basic interface.
Definition: Filter.dcl.h:46
Belle2::TrackFindingCDC::Filter::Object
AObject Object
Type of the object to be analysed.
Definition: Filter.dcl.h:43