PandaRoot
PndFtsHoughTrackFinderParams.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 
22 #ifndef PndFtsHoughTrackFinderParams_H
23 #define PndFtsHoughTrackFinderParams_H
24 
25 #include <iostream>
26 #include "TObject.h"
27 
28 class PndFtsHoughTrackFinderParams : public TObject {
29  public:
30  // Constructors/Destructors ---------
31  PndFtsHoughTrackFinderParams(); // assigns standard values, overwrite lateron
33 
34  virtual void Print() const
35  {
36  std::cout << "fZLineParabola=" << fZLineParabola << " cm fZParabolaLine=" << fZParabolaLine << "cm\n";
37  std::cout << "fParabolaStepsPerThetaDeg=" << fParabolaStepsPerThetaDeg << " fParabolaHwScan=" << fParabolaHwScan << " fParabolaNBinsPzxInv=" << fParabolaNBinsPzxInv
38  << " fParabolaQDivPzxArgMax=" << fParabolaQDivPzxArgMax << " a.u.\n";
39  };
40 
41  // getters
42  // parabola theta
43  Double_t getParabolaStepsPerThetaDeg() const { return fParabolaStepsPerThetaDeg; };
44  Double_t getParabolaHwScan() const { return fParabolaHwScan; };
45  // parabola 2nd value Q/p_zx
46  Int_t getParabolaNBinsPzxInv() const { return fParabolaNBinsPzxInv; };
47  Double_t getParabolaQDivPzxArgMax() const { return fParabolaQDivPzxArgMax; };
48 
49  Double_t getZLineParabola() const { return fZLineParabola; };
50  Double_t getZParabolaLine() const { return fZParabolaLine; };
51 
52  Int_t getNBinsY() const { return fUnused; };
53 
54  // setters
55  void setParabolaParams(Double_t parabolaStepsPerThetaDeg, Double_t parabolaHwScan, Int_t parabolaNBinsPzxInv, Double_t parabolaQDivPzxArgMax)
56  {
57  fParabolaStepsPerThetaDeg = parabolaStepsPerThetaDeg;
58  fParabolaHwScan = parabolaHwScan;
59 
60  fParabolaNBinsPzxInv = parabolaNBinsPzxInv;
61  fParabolaQDivPzxArgMax = parabolaQDivPzxArgMax;
62  }
63 
64  void setZPositionsForSwitchingLineParabolaLine(Double_t zLineParabola, Double_t zParabolaLine)
65  {
66  fZLineParabola = zLineParabola;
67  fZParabolaLine = zParabolaLine;
68  }
69 
70  private:
71  // parabola theta
72  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
73  // in theta (will multiplied and rounded lateron)
74  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
75  // parabola 2nd value Q/p_zx
76  Int_t fParabolaNBinsPzxInv; // number of bins for 2nd value (Q/p_{zx})
77  Double_t fParabolaQDivPzxArgMax; // - for low border, + for high border of Hough space for Q/p_{zx} (in arbitrary units)
78 
79  // line parabola line switching (in zx plane) z positions
80  Double_t fZLineParabola; // z position where I go from line before dipole to parabola
81  Double_t fZParabolaLine; // z position where I go from parabola to line behind dipole
82 
83  Int_t fUnused;
84 
85  public:
87 };
88 
89 // inline functions
90 
91 #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)