PandaRoot
PndSttSkewStrawPzFinderTask.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  * PndSttSkewStrawPzFinderTask.h
15  *
16  * Created on: Feb 8, 2016
17  * Author: walan603
18  */
19 
20 #ifndef PNDSTTSKEWSTRAWPZFINDERTASK_H_
21 #define PNDSTTSKEWSTRAWPZFINDERTASK_H_
22 
23 #include <FairTask.h>
25 //#include <PndSttSkewStrawPzFinderData.h>
26 
27 class TClonesArray;
28 class TH1;
29 class TH2;
30 class TCanvas;
31 class PndGeoSttPar;
32 class FairHit;
33 class PndSttHit;
34 class PndTrack;
35 class PndTrackCand;
36 
37 using namespace std;
38 
39 class PndSttSkewStrawPzFinderTask : public FairTask {
40  public:
41  ClassDef(PndSttSkewStrawPzFinderTask, 1);
42 
44 
45  virtual ~PndSttSkewStrawPzFinderTask();
46 
47  virtual InitStatus Init();
48 
49  virtual void Exec(Option_t *opt);
50 
51  virtual void FinishEvent();
52 
53  void setTrackBranch(TString input) { TrackBranchName = input; }
54  void setTrackCandBranch(TString input) { TrackCandBranchName = input; }
55  void setRiemannBranch(TString input) { TrackRiemannBranchName = input; }
56  void setOutputPrefix(TString input) { OutputPrefix = input; }
57  int getMethod() const { return fMethod; }
58  void setMethod(int input) { fMethod = input; }
59  void setStepTheta(double input) { fStepTheta = input; }
60  void setStepR(int input) { fStepR = input; }
61 
62  void StoreData(bool set) { fStoredata = set; }
63  void WithRiemann(bool set) { fWithRiemann = set; };
64 
65  private:
66  bool fStoredata;
67  bool fWithRiemann;
68  PndSttSkewStrawPzFinder *PzFinder;
69  // PndSttSkewStrawPzFinderData *PzFinderData;
70 
71  int fMethod;
72  Double_t fStepTheta;
73  Int_t fStepR;
74  TString TrackBranchName;
75  TString TrackCandBranchName;
76  TString TrackRiemannBranchName;
77  TString OutputPrefix;
78 
79  TClonesArray *fEventHeader;
80  TCanvas *SttXYproj;
81  vector<PndSttHit *> fSkewedHits;
82  TClonesArray *fSTTHits;
83  TClonesArray *fMVDHitsStrip;
84  TClonesArray *fMVDHitsPixel;
85  TClonesArray *fGEMHits;
86  PndGeoSttPar *fSttParameters; // for filling fTubeArray
87  TClonesArray *fTubeArray;
88  map<int, vector<int>> fMapTubeIDToHits;
89  map<int, int> fMapHitIndexToTubeID;
90 
91  TClonesArray *fTrackCand;
92  TClonesArray *fTrack;
93  TClonesArray *fRiemannTrack;
94 
95  vector<PndTrackCand> fVectorPndTrackCand;
96  vector<PndTrack> fVectorPndTrack;
97 
98  TClonesArray *fFinalTrackCand;
99  TClonesArray *fFinalTrack;
100  TClonesArray *fFinalRiemannTrack;
101  TClonesArray *fFinalPzData;
102 };
103 
104 #endif /* PNDSTTSKEWSTRAWPZFINDERTASK_H_ */
STL namespace.