Belle II Software development
BaseCandidateReceiver.cc
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
9#include <tracking/trackFindingCDC/legendre/quadtree/BaseCandidateReceiver.h>
10#include <tracking/trackFindingCDC/processing/LowHitsAxialTrackUtil.h>
11
12using namespace Belle2;
13using namespace TrackFindingCDC;
14using namespace TrackingUtilities;
15
16BaseCandidateReceiver::BaseCandidateReceiver(std::vector<const CDCWireHit*> allAxialWireHits)
17 : m_allAxialWireHits(std::move(allAxialWireHits))
18{
19}
20
24
25void BaseCandidateReceiver::operator()(const std::vector<const CDCWireHit*>& inputWireHits,
26 void* qt __attribute__((unused)))
27{
28 // Unset the taken flag
29 // NOTE after QuadTreeProcessor finds a leaf, it marks all items as "taken"
30 for (const CDCWireHit* wireHit : inputWireHits) {
31 (*wireHit)->setTakenFlag(false);
32 }
36 true, // fromOrigin
37 false, // straight
38 false); // withPostprocessing
39}
40
41const std::vector<CDCTrack>& BaseCandidateReceiver::getTracks() const
42{
43 return m_tracks;
44}
std::vector< TrackingUtilities::CDCTrack > m_tracks
Collected tracks.
BaseCandidateReceiver(std::vector< const TrackingUtilities::CDCWireHit * > allAxialWireHits)
Constructor.
virtual void operator()(const std::vector< const TrackingUtilities::CDCWireHit * > &inputWireHits, void *qt)
Main entry point for the post processing call from the QuadTreeProcessor.
const std::vector< TrackingUtilities::CDCTrack > & getTracks() const
Get the collected tracks.
std::vector< const TrackingUtilities::CDCWireHit * > m_allAxialWireHits
Pool of all axial hits from which the road search may select additional hits.
Class representing a hit wire in the central drift chamber.
Definition CDCWireHit.h:58
Abstract base class for different kinds of events.
STL namespace.
static void addCandidateFromHits(const std::vector< const TrackingUtilities::CDCWireHit * > &foundAxialWireHits, const std::vector< const TrackingUtilities::CDCWireHit * > &allAxialWireHits, std::vector< TrackingUtilities::CDCTrack > &axialTracks, bool fromOrigin=true, bool straight=true, bool withPostprocessing=true)
Create CDCTrack using CDCWireHit hits and store it in the list.