Belle II Software development
WholeWireHitRelationFilter.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/trackingUtilities/filters/base/RelationFilter.dcl.h>
11
12#include <vector>
13#include <string>
14#include <cstddef>
15
16namespace Belle2 {
21 class ModuleParamList;
22
23 namespace CDC {
24 class CDCWire;
25 }
26 namespace TrackingUtilities {
27 class CDCWireHit;
28 }
29 namespace TrackFindingCDC {
30
32 class WholeWireHitRelationFilter : public TrackingUtilities::RelationFilter<TrackingUtilities::CDCWireHit> {
33
34 public:
36 explicit WholeWireHitRelationFilter(int neighborhoodDegree = 2);
37
40
42 void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) final;
43
48 std::vector<TrackingUtilities::CDCWireHit*> getPossibleTos(TrackingUtilities::CDCWireHit* from,
49 const std::vector<TrackingUtilities::CDCWireHit*>& wireHits) const final;
50
58 void prepare(const std::vector<TrackingUtilities::CDCWireHit*>& wireHits);
59
60 private:
63
65 std::vector<const CDC::CDCWire*> m_preparedWires;
66
69
71 std::size_t m_preparedWireHitsSize = 0;
72 };
73 }
75}
Class representing a sense wire in the central drift chamber.
Definition CDCWire.h:50
The Module parameter list class.
void prepare(const std::vector< TrackingUtilities::CDCWireHit * > &wireHits)
Precompute the wires of the given wire hits to speed up the searches in the following getPossibleTos ...
WholeWireHitRelationFilter(int neighborhoodDegree=2)
Constructor form the default neighborhood degree.
TrackingUtilities::CDCWireHit *const * m_preparedWireHitsData
Data pointer of the prepared wire hit vector used to recognize it in getPossibleTos.
~WholeWireHitRelationFilter() override
Default destructor.
std::vector< TrackingUtilities::CDCWireHit * > getPossibleTos(TrackingUtilities::CDCWireHit *from, const std::vector< TrackingUtilities::CDCWireHit * > &wireHits) const final
Returns a vector containing the neighboring wire hits of the given wire hit out of the sorted range g...
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the parameters to a module.
std::vector< const CDC::CDCWire * > m_preparedWires
Memory for the wires of the prepared wire hit vector.
std::size_t m_preparedWireHitsSize
Size of the prepared wire hit vector used to recognize it in getPossibleTos.
Class representing a hit wire in the central drift chamber.
Definition CDCWireHit.h:56
Base class for filtering the neighborhood of objects.
Abstract base class for different kinds of events.