PandaRoot
PndFtsCATracking.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 #ifndef PNDFTSCATRACKING_HH
14 #define PNDFTSCATRACKING_HH
15 
16 #include "PndPersistencyTask.h"
17 #include "FairTrackParP.h"
18 
19 #include "TString.h"
20 #include "PndFTSCAGBHit.h"
21 
22 #include <vector>
23 #include <fstream>
24 #include <map>
25 
26 using std::map;
27 
28 class TClonesArray;
29 class FairTrackParP;
30 class PndGeoHandling;
31 class PndFTSCATrackParam;
32 class TFile;
33 class PndFTSCAPerformance;
34 class PndFTSCAGBTracker;
35 
37  public:
38  // Constructors/Destructors ---------
39  PndFtsCATracking(const char *name = "FtsCATracking", Int_t iVerbose = 0);
41  void SetFtsHitsBranchName(const TString &name) { fFtsHitsBranchName = name; }
42  void SetFtsTracksBranchName(const TString &name) { fFtsTracksBranchName = name; }
43 
44  virtual InitStatus Init();
45  void SetParContainers();
46  virtual void Exec(Option_t *opt);
47  virtual void Finish();
48 
49  static bool CATrackParToFairTrackParP(FairTrackParP *fairParam, const PndFTSCATrackParam *caParam);
50 
52 
53  private:
54  static Int_t fVerbose;
55  TString fFtsHitsBranchName;
56  TString fFtsTracksBranchName;
57  TString fFtsTrackCandsBranchName;
58  Int_t fBranchID;
59  // TClonesArray* fMCTracks; //! Array of PndMCTrack
60  // TClonesArray* fMCPoints; //! Array of event's points
61  TClonesArray *fHits;
62 
63  TClonesArray *fTracks;
64  TClonesArray *fTrackCands;
65 
66  bool fDoPerformance;
67  // PndGeoFtsPar *fFtsParameters;
68  TClonesArray *fTubeArrayFts;
69 
70  void WriteFTSHits(/*PndFTSCAGBHit* vHits,*/ std::vector<PndFTSCAGBHit> &vHits,
71  /*std::fstream &outH, std::fstream &outHL, std::fstream &outMCT, std::fstream &outMCP,*/ int &iHit /*, map<int, unsigned int> &nHitsInMCTrack*/);
72 
73  PndFTSCAGBTracker *fTracker;
74 
75  // for performance
76  TFile *fPerfHistoFile;
77  PndFTSCAPerformance *fPerformance;
78 
79  ClassDef(PndFtsCATracking, 1);
80 };
81 #endif
bool NonReconstructableEvent()
static bool CATrackParToFairTrackParP(FairTrackParP *fairParam, const PndFTSCATrackParam *caParam)
void SetFtsHitsBranchName(const TString &name)
void SetParContainers()
virtual void Finish()
PndFtsCATracking(const char *name="FtsCATracking", Int_t iVerbose=0)
Class to access the naming information of the MVD.
virtual void Exec(Option_t *opt)
virtual InitStatus Init()
void SetFtsTracksBranchName(const TString &name)