Belle II Software development
MCSymmetricFilter.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 <string>
11
12namespace Belle2 {
17 class ModuleParamList;
18
19 namespace TrackFindingCDC {
20
22 template<class AFilter>
23 class MCSymmetric : public AFilter {
24
25 private:
27 using Super = AFilter;
28
29 public:
31 explicit MCSymmetric(bool allowReverse = true);
32
35
37 void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) override;
38
40 void initialize() override;
41
43 void beginEvent() override;
44
46 bool needsTruthInformation() final;
47
48 public:
50 virtual void setAllowReverse(bool allowReverse);
51
53 bool getAllowReverse() const;
54
55 private:
58 };
59 }
61}
The Module parameter list class.
Mixin for filters that use Monte Carlo information.
bool needsTruthInformation() final
Indicates that the filter requires Monte Carlo information.
void initialize() override
Initialize the before event processing.
AFilter Super
Type of the super class.
virtual void setAllowReverse(bool allowReverse)
Setter for the allow reverse parameter.
bool m_param_allowReverse
Switch to indicate if the reversed version of the object shall also be accepted (default is true).
void beginEvent() override
Signal the beginning of a new event.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the set of parameters of the filter to the module parameter list.
bool getAllowReverse() const
Getter for the allow reverse parameter.
Abstract base class for different kinds of events.