PandaRoot
PndFtsTrackFinderTask.h
Go to the documentation of this file.
1 
8 #pragma once
9 
10 #include "TClonesArray.h"
11 
12 #include "FairTask.h"
13 
14 #include "PndTrackCand.h"
15 #include "PndFtsContext.h"
16 #include "PndFtsReconRunner.h"
17 #include "FairTask.h"
18 #include "FairRootManager.h"
19 #include "PndPersistencyTask.h"
20 
22 
23 #include "tool/PndFtsSimpleHit.h"
24 
26  public:
31  explicit PndFtsTrackFinderTask(const TString &name = "PndFtsTrackFinder");
32 
34 
36 
38 
40 
41  ~PndFtsTrackFinderTask() override;
42 
47  void Exec(Option_t *option) override;
48 
55  void SetOutputBranchName(const TString &name);
56 
63 
64  protected:
69  InitStatus Init() override;
70 
74  void Finish() override;
75 
76  private:
77  void PrintTmpTracks() const;
78 
79  [[nodiscard]] static PndFtsTrackFinder::PndFtsGeom ReadRootGeom(std::string_view filename);
80 
81  FairRootManager *ioman;
82 
83  int32_t fInBranchId;
84  TString fInBranchName;
85  TString fOutBranchName;
86  TString fOutCandBranchName;
87  TString fOutAnalyticBranchName;
89 
90  TClonesArray *fInHits;
91 
92  TClonesArray fOutTrackCands;
93  TClonesArray fOutTracks;
94  TClonesArray fOutAnalyticTracks;
95 
96  std::vector<PndFtsTrackFinder::PndFtsSimpleHit> fTmpHits;
97  std::vector<PndFtsTrackFinder::PndFtsFullTrack> fTmpTracks;
98 
99  // Those are unique_ptr for the sake of lazy initialization of the task ( Init() method ).
100  std::unique_ptr<PndFtsTrackFinder::PndFtsContext> fReconContext;
101  std::unique_ptr<PndFtsTrackFinder::PndFtsReconRunner> fReconRunner;
102  std::unique_ptr<PndFtsTrackFinderPndTrackProducer> fPndTrackProducer;
103 
104  ClassDef(PndFtsTrackFinderTask, 1);
105 };
PndFtsTrackFinderTask operator=(const PndFtsTrackFinderTask &)=delete
PndFtsTrackFinderTask(const TString &name="PndFtsTrackFinder")
InitStatus Init() override
PandaRoot task providing PndFtsTrackFinder functionality.
int int32_t
Definition: matrix.h:32
~PndFtsTrackFinderTask() override
void SetMomentumEstimationMethod(PndFtsTrackFinder::PndFtsMomEstMethod momEstMethod)
void Finish() override
void Exec(Option_t *option) override
void SetOutputBranchName(const TString &name)