PandaRoot
PndFtsReconLineZOX.h
Go to the documentation of this file.
1 //
2 // Created by Bartosz Sobol on 07.06.2020.
3 //
4 
5 #pragma once
6 
8 #include "tool/PndFtsContext.h"
9 #include "tool/PndFtsTrack.h"
10 #include "tool/PndFtsGeom.h"
11 
12 namespace PndFtsTrackFinder {
13 
15  public:
16  PndFtsReconLineZOX() = delete;
17 
18  explicit PndFtsReconLineZOX(const PndFtsContext &context);
19 
20  PndFtsReconLineZOX(const PndFtsContext &&context) = delete;
21 
22  [[nodiscard]] LineSubtrackVector Exec(const PndFtsLineHitSet &hitSet) const;
23 
24  private:
25  [[nodiscard]] LineSubtrackVector ExecItem(const PndFtsLineHitSet &hits) const;
26 
27  [[nodiscard]] RawHitPairVector CreateOutermostHitPairs(const PndFtsLineHitSet &hits) const;
28 
29  [[nodiscard]] TangentLineArray TangentLines(const PndFtsSimpleHit &hitBeg, const PndFtsSimpleHit &hitEnd) const;
30 
31  static void RemoveDuplicates(LineSubtrackVector &tracks);
32 
33  const PndFtsContext &fContext;
34 };
35 
36 } // namespace PndFtsTrackFinder
LineSubtrackVector Exec(const PndFtsLineHitSet &hitSet) const
std::array< Line, 4 > TangentLineArray
Definition: PndFtsHelpers.h:42
std::vector< RawHitPair > RawHitPairVector
std::vector< LineSubtrack > LineSubtrackVector
Definition: PndFtsTrack.h:29