PandaRoot
PndMvdGemTrackFinderOnHits.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // ----- PndMvdGemTrackFinderOnHits header file -----
3 // ----- Created 02.06.2009 by R. Karabowicz -----
4 // -------------------------------------------------------------------------
5 
15 #ifndef PNDMVDGEMTRACKFINDERONHITS_H
16 #define PNDMVDGEMTRACKFINDERONHITS_H
17 
18 #include "PndPersistencyTask.h"
19 #include "FairMCPoint.h"
20 #include "PndMCTrack.h"
21 
22 #include "PndSdsHit.h"
23 #include "PndGemHit.h"
24 #include "PndGemTrackFinder.h"
25 #include "PndGemDigiPar.h"
26 
27 #include <vector>
28 
29 struct TrackSegment {
30  Int_t detId[2];
31  Int_t hitIndex[2];
32  Double_t trackMom;
33  Double_t trackPhi;
34  Double_t trackTheta;
35  Int_t recoTrackIndex;
36 };
37 
39 
40  public:
43 
45  PndMvdGemTrackFinderOnHits(Int_t iVerbose);
46 
48  virtual ~PndMvdGemTrackFinderOnHits();
49 
51  virtual void Exec(Option_t *opt);
52 
54  void SetVerbose(const Int_t &verbose) { fVerbose = verbose; };
55 
56  private:
57  PndGemDigiPar *fDigiPar;
58 
60  TClonesArray *fMvdPixelHitArray;
61  TClonesArray *fMvdStripHitArray;
62  TClonesArray *fGemHitArray;
63 
65  TClonesArray *fTrackArray;
66  TClonesArray *fTrackCandArray;
67 
69  TClonesArray *fMCTrackArray;
70  TClonesArray *fMCGemPointArray;
71  TClonesArray *fMCMvdPointArray;
72 
74  // PndGemStructure *fGemStructure;
75 
82  Int_t fVerbose;
83 
88  Int_t fPrimary;
89 
90  // Parameters, taken from the digiPar file
91  Double_t fParThetaA;
92  Double_t fParThetaB;
93 
94  Double_t fParTheta0;
95  Double_t fParTheta1;
96  Double_t fParTheta2;
97  Double_t fParTheta3;
98 
99  Double_t fParRadPhi0;
100  Double_t fParRadPhi2;
101 
102  Double_t fParMat0[3];
103  Double_t fParMat1[3];
104 
106  Int_t fNofEvents; // event counter
107  Int_t fMCAvailable;
108 
109  Int_t fNofExpectedTrackSegments;
110  Int_t fNofFoundTrackSegments;
111  std::vector<TrackSegment> fTrackSegments;
112  Int_t FindTrackSegments(Int_t stat1Id, Int_t stat2Id);
113  Int_t FindTrackSegments(Int_t stat2Id);
114  Int_t FindTrackSegments();
115  Int_t MatchTrackSegments();
116  void RemoveCloneTracks(Int_t nofRecoTracks);
117  Int_t CreateTracks(Int_t nofRecoTracks);
118 
119  void PrintTrackSegments();
120  void PrintTracks(Int_t nofRecoTracks);
121  void PrintMCTrackSegments();
122  void PrintMCTracks(Int_t nofRecoTracks);
123 
125  virtual void SetParContainers();
126 
128  virtual void Finish();
129 
131  virtual InitStatus Init();
132 
134  virtual InitStatus ReInit();
135 
136  ClassDef(PndMvdGemTrackFinderOnHits, 1);
137 };
138 
139 #endif
Digitization Parameter Class for GEM part.
Definition: PndGemDigiPar.h:30
void SetVerbose(const Int_t &verbose)
OnHits track finding algorithm.