PandaRoot
PndMvdIdealTrackFinderTask.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 
20 #ifndef PNDMVDIDEALTRACKFINDERTASK_H
21 #define PNDMVDIDEALTRACKFINDERTASK_H
22 
23 #include "FairTask.h"
24 #include "PndMCTrack.h"
25 //#include "PndMvdGeoPar.h"
26 #include "PndSdsHit.h"
27 #include "PndSdsMCPoint.h"
28 //#include "PndMvdPixel.h"
29 #include "PndSdsCluster.h"
30 #include "PndTrackCand.h"
31 //#include "TrackCand.h"
32 
33 #include <string>
34 #include <vector>
35 
36 class TClonesArray;
37 
38 class PndMvdIdealTrackFinderTask : public FairTask {
39  public:
46 
48  virtual void SetParContainers();
49  virtual InitStatus Init();
50  virtual InitStatus ReInit();
51 
53  virtual void Exec(Option_t *opt);
54 
55  void PrintResult();
56  void SetVerbose(Int_t verbose) { fVerbose = verbose; };
57 
58  private:
59  // std::vector<Int_t> GetHitPerCluster(PndSdsCluster* clusterCand);
60  void ClearTrackCandMap();
61  void AddAndExpand(Int_t trackID, Int_t detnum, Int_t iHit, PndSdsHit *theHit);
62  Double_t GetTrackDip(PndMCTrack *myTrack);
63  Double_t GetTrackCurvature(PndMCTrack *myTrack);
64 
65  TString fHitBranchStrip;
66  TString fHitBranchPixel;
67  TString fClusterBranchStrip;
68  TString fClusterBranchPixel;
69  TString fDigiBranchStrip;
70  TString fDigiBranchPixel;
71  TString fMcBranch;
72  TString fTrackBranch;
73 
75  TClonesArray *fStripHitArray;
76  TClonesArray *fPixelHitArray;
77  TClonesArray *fStripClusterArray;
78  TClonesArray *fPixelClusterArray;
79  TClonesArray *fStripDigiArray;
80  TClonesArray *fPixelDigiArray;
81  TClonesArray *fMcArray;
82  TClonesArray *fTrackArray;
83 
85  TClonesArray *fTrackCandArray;
86  std::map<Int_t, PndTrackCand *> fTrackCandMap;
87 
88  void Register();
89  void Reset();
90  void ProduceHits();
91 
92  ClassDef(PndMvdIdealTrackFinderTask, 2);
93 };
94 
95 #endif /* PndMvdIdealTrackFinderTASK_H */
virtual void Exec(Option_t *opt)
PndMvdIdealTrackFinderTask & operator=(const PndMvdIdealTrackFinderTask &)=delete
virtual void SetParContainers()
virtual InitStatus ReInit()
virtual InitStatus Init()
virtual ~PndMvdIdealTrackFinderTask()