PandaRoot
PndFtsHoughTrackFinderParams.h
Go to the documentation of this file.
1 
10 #ifndef PndFtsHoughTrackFinderParams_H
11 #define PndFtsHoughTrackFinderParams_H
12 
13 #include <iostream>
14 #include "TObject.h"
15 
16 class PndFtsHoughTrackFinderParams : public TObject {
17  public:
18  // Constructors/Destructors ---------
19  PndFtsHoughTrackFinderParams(); // assigns standard values, overwrite lateron
21 
22  virtual void Print() const
23  {
24  std::cout << "fZLineParabola=" << fZLineParabola << " cm fZParabolaLine=" << fZParabolaLine << "cm\n";
25  std::cout << "fParabolaStepsPerThetaDeg=" << fParabolaStepsPerThetaDeg << " fParabolaHwScan=" << fParabolaHwScan << " fParabolaNBinsPzxInv=" << fParabolaNBinsPzxInv
26  << " fParabolaQDivPzxArgMax=" << fParabolaQDivPzxArgMax << " a.u.\n";
27  };
28 
29  // getters
30  // parabola theta
31  Double_t getParabolaStepsPerThetaDeg() const { return fParabolaStepsPerThetaDeg; };
32  Double_t getParabolaHwScan() const { return fParabolaHwScan; };
33  // parabola 2nd value Q/p_zx
34  Int_t getParabolaNBinsPzxInv() const { return fParabolaNBinsPzxInv; };
35  Double_t getParabolaQDivPzxArgMax() const { return fParabolaQDivPzxArgMax; };
36 
37  Double_t getZLineParabola() const { return fZLineParabola; };
38  Double_t getZParabolaLine() const { return fZParabolaLine; };
39 
40  Int_t getNBinsY() const { return fUnused; };
41 
42  // setters
43  void setParabolaParams(Double_t parabolaStepsPerThetaDeg, Double_t parabolaHwScan, Int_t parabolaNBinsPzxInv, Double_t parabolaQDivPzxArgMax)
44  {
45  fParabolaStepsPerThetaDeg = parabolaStepsPerThetaDeg;
46  fParabolaHwScan = parabolaHwScan;
47 
48  fParabolaNBinsPzxInv = parabolaNBinsPzxInv;
49  fParabolaQDivPzxArgMax = parabolaQDivPzxArgMax;
50  }
51 
52  void setZPositionsForSwitchingLineParabolaLine(Double_t zLineParabola, Double_t zParabolaLine)
53  {
54  fZLineParabola = zLineParabola;
55  fZParabolaLine = zParabolaLine;
56  }
57 
58  private:
59  // parabola theta
60  Double_t fParabolaStepsPerThetaDeg; // how many scan steps should the Hough transform do per degree in theta when searching for the parabola - greater number means finer scanning
61  // in theta (will multiplied and rounded lateron)
62  Double_t fParabolaHwScan; // how many half widths of the peak for the line before dipole will be scanned around the peak theta value to find the theta for the parabola
63  // parabola 2nd value Q/p_zx
64  Int_t fParabolaNBinsPzxInv; // number of bins for 2nd value (Q/p_{zx})
65  Double_t fParabolaQDivPzxArgMax; // - for low border, + for high border of Hough space for Q/p_{zx} (in arbitrary units)
66 
67  // line parabola line switching (in zx plane) z positions
68  Double_t fZLineParabola; // z position where I go from line before dipole to parabola
69  Double_t fZParabolaLine; // z position where I go from parabola to line behind dipole
70 
71  Int_t fUnused;
72 
73  public:
75 };
76 
77 // inline functions
78 
79 #endif
void setParabolaParams(Double_t parabolaStepsPerThetaDeg, Double_t parabolaHwScan, Int_t parabolaNBinsPzxInv, Double_t parabolaQDivPzxArgMax)
Parameters for Hough space track finder. Created: 09.02.2015.
ClassDef(PndFtsHoughTrackFinderParams, 1)
void setZPositionsForSwitchingLineParabolaLine(Double_t zLineParabola, Double_t zParabolaLine)