PandaRoot
PndFtsLineApproximator.h
Go to the documentation of this file.
1 /*
2  * PndFtsLineApproximator.h
3  *
4  * Created on: Jun 2, 2016
5  * Author: kibellus
6  */
7 #include <vector>
8 #include "PndLine.h"
9 #include "TMatrix.h"
10 #include "TMath.h"
11 #include "PndTrackCand.h"
12 #include "PndFtsHit.h"
14 //#include "PndLineApproximation.h"
15 #include "PndFtsLineComparator.h"
16 #include "Tuple.h"
17 
18 using namespace std;
19 
20 #ifndef PNDTOOLS_PNDFORWARDTRACKFINDER_PNDFTSLINEAPPROXIMATOR_H_
21 #define PNDTOOLS_PNDFORWARDTRACKFINDER_PNDFTSLINEAPPROXIMATOR_H_
22 
24  public:
25  static Double_t compDist;
26  static Double_t compAngle;
27  PndFtsLineApproximator() : fComparator(compDist, compAngle) {}
28  virtual ~PndFtsLineApproximator();
29  PndFtsExpandedTrackCand createExpandedTrackCand(PndTrackCand &cand);
30 
31  private:
32  vector<PndLineApproximation> approxLines(PndFtsHit *h1, PndFtsHit *h2);
33  vector<PndLineApproximation> approxInnerLine(PndFtsHit *h1, PndFtsHit *h2);
34  vector<PndLineApproximation> approxOuterLine(PndFtsHit *h1, PndFtsHit *h2);
35  void addLine(vector<vector<PndLineApproximation>> &lines, PndLineApproximation &l);
36  // PndLineApproximation createLine(vector<PndLineApproximation> lines);
37 
38  PndFtsHit *copyHitWithNewPosition(PndFtsHit *h, Double_t x, Double_t z);
39 
40  void transform(Bool_t transToNewSystem, PndFtsHit *hit);
41  TMatrix getRotationMatrix(Double_t angle);
42  PndFtsLineComparator fComparator;
43 };
44 
45 #endif /* PNDTOOLS_PNDFORWARDTRACKFINDER_PNDFTSLINEAPPROXIMATOR_H_ */
STL namespace.