10#include <tracking/trackFindingCDC/filters/base/Filter.fwd.h>
12#include <tracking/trackFindingCDC/varsets/BaseVarSet.h>
14#include <tracking/trackFindingCDC/numerics/Weight.h>
23 namespace TrackFindingCDC {
26 template<
class AFilter>
35 using Object =
typename AFilter::Object;
43 explicit OnVarSet(std::unique_ptr<AVarSet> varSet);
67 void setVarSet(std::unique_ptr<AVarSet> varSet);
77#include <tracking/trackFindingCDC/filters/base/Filter.icc.h>
84 namespace TrackFindingCDC {
87 template<
class AVarSet>
Object Object
Object type from which variables shall be extracted.
Convenience template to create a filter operating on a specific set of variables.
~FilterOnVarSet()
Default destructor.
typename AVarSet::Object Object
Type of the object to be analysed.
FilterOnVarSet()
Constructor of the filter.
Filter adapter to make a filter work on a set of variables.
void initialize() override
No reassignment of variable set possible for now.
bool needsTruthInformation() override
Checks if any variables need Monte Carlo information.
Weight operator()(const Object &obj) override
Function extracting the variables of the object into the variable set.
std::unique_ptr< AVarSet > m_varSet
Instance of the variable set to be used in the filter.
AFilter Super
Type of the base class.
std::unique_ptr< AVarSet > releaseVarSet() &&
Steal the set of variables form this filter - filter becomes dysfunctional afterwards.
AVarSet & getVarSet() const
Getter for the set of variables.
typename AFilter::Object Object
Type of pbject to be filtered.
void setVarSet(std::unique_ptr< AVarSet > varSet)
Setter for the set of variables.
~OnVarSet()
Default destructor.
Abstract base class for different kinds of events.