PandaRoot
PndFtsLineApproximator.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  * PndFtsLineApproximator.h
15  *
16  * Created on: Jun 2, 2016
17  * Author: kibellus
18  */
19 #include <vector>
20 #include "PndLine.h"
21 #include "TMatrix.h"
22 #include "TMath.h"
23 #include "PndTrackCand.h"
24 #include "PndFtsHit.h"
26 //#include "PndLineApproximation.h"
27 #include "PndFtsLineComparator.h"
28 #include "Tuple.h"
29 
30 using namespace std;
31 
32 #ifndef PNDTOOLS_PNDFORWARDTRACKFINDER_PNDFTSLINEAPPROXIMATOR_H_
33 #define PNDTOOLS_PNDFORWARDTRACKFINDER_PNDFTSLINEAPPROXIMATOR_H_
34 
36  public:
37  static Double_t compDist;
38  static Double_t compAngle;
39  PndFtsLineApproximator() : fComparator(compDist, compAngle) {}
40  virtual ~PndFtsLineApproximator();
41  PndFtsExpandedTrackCand createExpandedTrackCand(PndTrackCand &cand);
42 
43  private:
44  vector<PndLineApproximation> approxLines(PndFtsHit *h1, PndFtsHit *h2);
45  vector<PndLineApproximation> approxInnerLine(PndFtsHit *h1, PndFtsHit *h2);
46  vector<PndLineApproximation> approxOuterLine(PndFtsHit *h1, PndFtsHit *h2);
47  void addLine(vector<vector<PndLineApproximation>> &lines, PndLineApproximation &l);
48  // PndLineApproximation createLine(vector<PndLineApproximation> lines);
49 
50  PndFtsHit *copyHitWithNewPosition(PndFtsHit *h, Double_t x, Double_t z);
51 
52  void transform(Bool_t transToNewSystem, PndFtsHit *hit);
53  TMatrix getRotationMatrix(Double_t angle);
54  PndFtsLineComparator fComparator;
55 };
56 
57 #endif /* PNDTOOLS_PNDFORWARDTRACKFINDER_PNDFTSLINEAPPROXIMATOR_H_ */
STL namespace.