Belle II Software  release-08-01-10
LayerRelationFilter.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/RelationFilter.dcl.h>
11 #include <tracking/vxdHoughTracking/entities/VXDHoughState.h>
12 
13 #include <array>
14 
15 namespace Belle2 {
20  namespace vxdHoughTracking {
21 
23  template <class AFilter>
24  class LayerRelationFilter : public TrackFindingCDC::RelationFilter<VXDHoughState> {
27 
28  public:
29  using Super::operator();
30 
33 
36 
38  std::vector<VXDHoughState*> getPossibleTos(VXDHoughState* from, const std::vector<VXDHoughState*>& states) const final;
39 
41  void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) final;
42 
44  TrackFindingCDC::Weight operator()(const VXDHoughState& from, const VXDHoughState& to) final;
45 
47  void beginRun() final;
48 
49  private:
51  int m_hitJumping = 1;
53  AFilter m_filter;
55  std::array<ushort, 7> m_maximalLadderCache;
56  };
57 
58  }
60 }
The Module parameter list class.
Interface for an algorithm part that needs to receive the module processing signals.
Base class for filtering the neighborhood of objects.
Relation filter the creation of relations.
TrackFindingCDC::Weight operator()(const VXDHoughState &from, const VXDHoughState &to) final
Get the weight of the relation between from and to.
std::array< ushort, 7 > m_maximalLadderCache
Cached number of ladders per layer.
int m_hitJumping
Parameter: Make it possible to jump over N layers.
void beginRun() final
Initialize the maximal ladder cache.
std::vector< VXDHoughState * > getPossibleTos(VXDHoughState *from, const std::vector< VXDHoughState * > &states) const final
Return all states the given state is possible related to.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the parameters of the filter.
AFilter m_filter
Filter for rejecting the states.
Simple container for hit information to be used during intercept finding.
Definition: VXDHoughState.h:24
Abstract base class for different kinds of events.