FairRoot/PandaRoot
PndMQStraightLineTrackFinder.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // ----- PndMQStraightLineTrackFinder -----
3 // ----- Created 22/10/09 by M. Michel -----
4 // -------------------------------------------------------------------------
5 
6 
7 #ifndef PndMQStraightLineTrackFinder_H
8 #define PndMQStraightLineTrackFinder_H
9 
10 #include "FairTask.h"
11 #include "PndMCTrack.h"
12 #include "PndSdsGeoPar.h"
13 #include "PndSdsHit.h"
14 #include "PndSdsMCPoint.h"
15 #include "PndSdsClusterStrip.h"
16 #include "TrackData/PndTrackCand.h"
17 #include "TrackData/PndTrack.h"
18 
19 #include <string>
20 #include <vector>
21 #include <utility>
22 
24  TVector3 origin;
25  TVector3 direction;
26 };
27 
29 {
30  public:
31 
36 
37  void SetVerbose(Int_t verbose){ fVerbose = verbose; };
38  void SetSearchRadius(Double_t accu) { dXY = accu; };
39  std::vector<PndTrackCand> FindTracks(std::vector<PndSdsHit> hits);
40 
41  protected:
44  void SortHitsToLayers(std::vector<PndSdsHit> hits);
45  std::vector< std::vector<int> > GetStartCombination(int firstLayer, int secondLayer);
46  PndTrackCand FindTrack(std::vector<int> startCombi)
47  StraightLineParams GetLineParameters(std::vector<int> startCombi);
48  TVector3 PropagateToXYPlane(StraightLineParams line, Double z);
49  double DistanceOfPoints(TVector3 first, TVector3 second);
50 
51  private:
52 
54  Int_t fNLayers;
55  std::vector<std::vector<std::pair<PndSdsHit, bool> > > fHitsPerLayer;
56 
57 };
58 
59 #endif /* PndMQStraightLineTrackFinder_H */
60 
int fVerbose
Definition: poormantracks.C:24
#define verbose
std::vector< PndTrackCand > FindTracks(std::vector< PndSdsHit > hits)
std::vector< std::vector< int > > GetStartCombination(int firstLayer, int secondLayer)
Double_t
void SortHitsToLayers(std::vector< PndSdsHit > hits)
Double_t z
Double_t GetTrackDip(PndMCTrack *myTrack)
std::vector< std::vector< std::pair< PndSdsHit, bool > > > fHitsPerLayer
CbmHit * hits[nHits]
Definition: RiemannTest.C:19
double DistanceOfPoints(TVector3 first, TVector3 second)
Double_t GetTrackCurvature(PndMCTrack *myTrack)