ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HelixHoughFuncs_v1.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file HelixHoughFuncs_v1.h
1 #ifndef G4HOUGH_HELIXHOUGHFUNCSV1_H
2 #define G4HOUGH_HELIXHOUGHFUNCSV1_H
3 
4 #include "HelixHoughFuncs.h"
5 
6 #include <iostream> // for cout, ostream
7 #include <vector> // for vector
8 
9 class HelixHoughSpace;
10 class PHObject;
11 
13 {
14  public:
16  HelixHoughFuncs_v1(const HelixHoughFuncs_v1& hough_funcs);
17  ~HelixHoughFuncs_v1() override{};
18 
19  // The "standard PHObject response" functions...
20  void identify(std::ostream& /*os*/ = std::cout) const override{};
21  void Reset() override {}
22  int isValid() const override { return 1; }
23  PHObject* CloneMe() const override { return new HelixHoughFuncs_v1(*this); }
24 
25  void set_current_zoom(unsigned int cur_zoom) override { _cur_zoom = cur_zoom; }
26  void set_hough_space(HelixHoughSpace* hough_space) override;
27 
28  void calculate_dzdl_range(float* hitpos3d, std::vector<float>& z0_range, std::vector<float>& kappa_phi_d_ranges, float* dzdl_range) override;
29  void calculate_phi_range(float* hitpos2d, std::vector<float>& kappa_d_ranges, float* phi_r_range, float* phi_l_range) override;
30  void calculate_phi_range(float* hitpos2d, std::vector<float>& kappa_d_ranges, int helicity, float* phi_range, float* phi_next_range) override;
31  void calculate_phi_range(float* hitpos2d, std::vector<float>& kappa_d_ranges, int helicity, float* phi_range, float* phi_prev_range, float* phi_next_range) override;
32 
33  /*
34  unsigned int get_kappa_min() const {return _para_min[0];}
35  unsigned int get_bin(unsigned int zoomlevel, unsigned int* bins);
36 */
37  private:
38  /*
39  float _para_min[5];
40  float _para_max[5];
41 
42  unsigned int _zoom_profile[ZOOMLEVEL_MAX][5];
43  unsigned int _max_zoom;
44 */
46  unsigned int _cur_zoom;
47 
49 };
50 
51 #endif