FairRoot/PandaRoot
PndGemTrackFinderOnHits.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // ----- PndGemTrackFinderOnHits header file -----
3 // ----- Created 02.06.2009 by R. Karabowicz -----
4 // -------------------------------------------------------------------------
5 
16 #ifndef PNDGEMTRACKFINDERONHITS_H
17 #define PNDGEMTRACKFINDERONHITS_H
18 
19 #include "FairMCPoint.h"
20 #include "PndMCTrack.h"
21 
22 #include "PndGemHit.h"
23 #include "PndGemTrackFinder.h"
24 #include "PndGemDigiPar.h"
25 
26 #include <vector>
27 
28 struct TrackSegment {
29  Int_t stationIndex[2];
30  Int_t hitIndex[4];
35 };
36 
38 {
39 
40  public:
41 
44 
46  virtual ~PndGemTrackFinderOnHits();
47 
53  virtual Int_t DoFind(TClonesArray* hitArray,
54  TClonesArray* trackArray,
55  TClonesArray* trackCandArray);
56 
58  void SetVerbose(const Int_t& verbose) { fVerbose = verbose; };
59  void SetPrimary(const Int_t& primary) { fPrimary = primary; };
60  void SetSigmaMult(Double_t tempd) { fSigmaMult = tempd; };
61 
62 
63  private:
64 
66 
68  TClonesArray* fMCTrackArray;
69  TClonesArray* fMCPointArray;
70 
72  // PndGemStructure *fGemStructure;
73 
80  Int_t fVerbose;
81 
86  Int_t fPrimary;
87 
89 
90  // Parameters, taken from the digiPar file
93 
98 
101 
104 
106  Int_t fNofEvents; // event counter
108  Int_t fNofClHits;
109 
112  std::vector<TrackSegment> fTrackSegments;
113  Int_t FindTrackSegments(TClonesArray* hitArray, Int_t stat1Id, Int_t stat2Id);
114  Int_t MatchTrackSegments();
115  void RemoveCloneTracks(Int_t nofRecoTracks);
116  Int_t CreateTracks(TClonesArray* hitArray,
117  TClonesArray* trackArray,
118  TClonesArray* trackCandArray,
119  Int_t nofRecoTracks);
120 
121  void PrintTrackSegments(TClonesArray* hitArray);
122  void PrintTracks(TClonesArray* hitArray, Int_t nofRecoTracks);
123  void PrintMCTrackSegments(TClonesArray* hitArray);
124  void PrintMCTracks(TClonesArray* hitArray, Int_t nofRecoTracks);
125 
127  virtual void SetParContainers();
128 
130  virtual void Init();
131 
133 
134 };
135 
136 #endif
void SetPrimary(const Int_t &primary)
TClonesArray * trackArray
Definition: NHitsPerEvent.C:14
void RemoveCloneTracks(Int_t nofRecoTracks)
#define verbose
Abstract base class for concrete Gem track finding algorithm.
OnHits track finding algorithm.
Digitization Parameter Class for GEM part.
Definition: PndGemDigiPar.h:31
void PrintMCTrackSegments(TClonesArray *hitArray)
ClassDef(PndGemTrackFinderOnHits, 1)
void SetSigmaMult(Double_t tempd)
void PrintTracks(TClonesArray *hitArray, Int_t nofRecoTracks)
std::vector< TrackSegment > fTrackSegments
Double_t
void PrintMCTracks(TClonesArray *hitArray, Int_t nofRecoTracks)
Int_t FindTrackSegments(TClonesArray *hitArray, Int_t stat1Id, Int_t stat2Id)
void SetVerbose(const Int_t &verbose)
void PrintTrackSegments(TClonesArray *hitArray)
Int_t CreateTracks(TClonesArray *hitArray, TClonesArray *trackArray, TClonesArray *trackCandArray, Int_t nofRecoTracks)
virtual Int_t DoFind(TClonesArray *hitArray, TClonesArray *trackArray, TClonesArray *trackCandArray)