PandaRoot
PndFtsReconRunner.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 //
14 // Created by Bartosz Sobol on 12.07.2020.
15 //
16 
17 #pragma once
18 
19 #include "FairLogger.h"
20 
21 #include "PndFtsReconMerge.h"
22 #include "PndFtsReconCircle.h"
23 #include "PndFtsReconLine.h"
24 #include "PndFtsReconLineZOX.h"
25 #include "PndFtsReconCircleZOX.h"
26 #include "PndFtsReconLineZOY.h"
27 #include "PndFtsReconCircleZOY.h"
28 
29 namespace PndFtsTrackFinder {
30 
32  public:
33  PndFtsReconRunner() = delete;
34 
35  explicit PndFtsReconRunner(const PndFtsContext &context) : fReconLine{context}, fReconCircle{context}, fReconMerge{context}, fContext{context} {}
36 
37  PndFtsReconRunner(const PndFtsContext &&context) = delete;
38 
39  [[nodiscard]] FullTrackVector Exec(const SimpleHitVector &inHits);
40 
41  private:
42  const PndFtsReconLine fReconLine;
43  const PndFtsReconCircle fReconCircle;
44  const PndFtsReconMerge fReconMerge;
45 
46  SimpleHitVector fFT12Hits;
47  SimpleHitVector fFT34Hits;
48  SimpleHitVector fFT56Hits;
49 
50  const PndFtsContext &fContext;
51 };
52 
53 } // namespace PndFtsTrackFinder
std::vector< PndFtsSimpleHit > SimpleHitVector
std::vector< PndFtsFullTrack > FullTrackVector
Definition: PndFtsTrack.h:144
FullTrackVector Exec(const SimpleHitVector &inHits)
PndFtsReconRunner(const PndFtsContext &context)