PandaRoot
PndFtsReconMerge.h
Go to the documentation of this file.
1 //
2 // Created by Bartosz Sobol on 30.03.2021.
3 //
4 
5 #pragma once
6 
7 #include "tool/PndFtsMath.h"
8 #include "tool/PndFtsTrack.h"
9 #include "tool/PndFtsContext.h"
10 #include <optional>
11 
12 namespace PndFtsTrackFinder {
13 
15  public:
16  PndFtsReconMerge() = delete;
17 
18  explicit PndFtsReconMerge(const PndFtsContext &context);
19 
20  PndFtsReconMerge(const PndFtsContext &&context) = delete;
21 
22  [[nodiscard]] FullTrackVector Exec(const LineTrackVector &ft12Tracks, const CircleTrackVector &ft34Tracks, const LineTrackVector &ft56Tracks) const;
23 
24  private:
25  void ExecItem(const LineTrackVector &ft12Tracks, const LineTrackVector &ft56Tracks, const CircleTrackVector &ft34Tracks, const std::vector<TrackRange> &track56Ranges,
26  const std::vector<TrackRange> &track1234Ranges, std::vector<std::optional<std::size_t>> &foundMatches) const;
27 
28  const PndFtsContext &fContext;
29 };
30 
31 } // namespace PndFtsTrackFinder
std::vector< CircleTrack > CircleTrackVector
Definition: PndFtsTrack.h:83
std::vector< LineTrack > LineTrackVector
Definition: PndFtsTrack.h:49
std::vector< PndFtsFullTrack > FullTrackVector
Definition: PndFtsTrack.h:132
FullTrackVector Exec(const LineTrackVector &ft12Tracks, const CircleTrackVector &ft34Tracks, const LineTrackVector &ft56Tracks) const