Belle II Software  release-08-01-10
NonIPCrossingStateFilter.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/ckf/svd/filters/states/AllSVDStateFilter.h>
11 #include <tracking/trackFindingCDC/numerics/EForwardBackward.h>
12 #include <string>
13 
14 namespace Belle2 {
19  class ModuleParamList;
20 
31  template <class AllStateFilter>
32  class NonIPCrossingStateFilter : public AllStateFilter {
34  using Object = typename AllStateFilter::Object;
36  using Super = AllStateFilter;
37  public:
39  TrackFindingCDC::Weight operator()(const Object& pair) final;
40 
42  void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) override;
43 
45  void initialize() final;
46 
47  private:
49  std::string m_param_directionAsString = "unknown";
51  TrackFindingCDC::EForwardBackward m_param_direction = TrackFindingCDC::EForwardBackward::c_Unknown;
52  };
54 }
The Module parameter list class.
Reusable filter for checking the direction of a new state if it is in the correct orientation (forwar...
typename AllStateFilter::Object Object
The object to filter.
TrackFindingCDC::EForwardBackward m_param_direction
Direction parameter converted from the string parameters.
AllStateFilter Super
The parent class.
std::string m_param_directionAsString
Parameter for the distance given to the framework (can not handle EForwardBackward directly)
TrackFindingCDC::Weight operator()(const Object &pair) final
Main function testing the object for the direction.
void initialize() final
Copy the string direction parameter to the enum.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the direction parameter.
Abstract base class for different kinds of events.