EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HelixHoughFuncs.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file HelixHoughFuncs.h
1 #ifndef G4HOUGH_HELIXHOUGHFUNCS_H
2 #define G4HOUGH_HELIXHOUGHFUNCS_H
3 
4 #include "HelixHoughSpace_v1.h"
5 
6 #include <phool/PHObject.h>
7 
8 #include <climits>
9 #include <cmath>
10 
11 class HelixHoughSpace;
12 
13 class HelixHoughFuncs : public PHObject
14 {
15  public:
16  ~HelixHoughFuncs() override {}
17 
18  // The "standard PHObject response" functions...
19  void identify(std::ostream& os = std::cout) const override
20  {
21  os << "HelixHoughFuncs base class" << std::endl;
22  }
23  int isValid() const override { return 0; }
24  PHObject* CloneMe() const override { return nullptr; }
25 
26  // Define Hough space for helical tracks
27  virtual void set_current_zoom(unsigned int /*cur_zoom*/) {}
28  virtual void set_hough_space(HelixHoughSpace* /*hough_space*/) {}
29  virtual void calculate_dzdl_range(float* /*hitpos3d*/, std::vector<float>& /*z0_range*/, std::vector<float>& /*kappa_phi_d_ranges*/, float* /*dzdl_range*/){};
30  virtual void calculate_phi_range(float* /*hitpos2d*/, std::vector<float>& /*kappa_d_ranges*/, float* /*phi_r_range*/, float* /*phi_l_range*/){};
31  virtual void calculate_phi_range(float* /*hitpos2d*/, std::vector<float>& /*kappa_d_ranges*/, int /*helicity*/, float* /*phi_range*/, float* /*phi_next_range*/){};
32  virtual 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*/){};
33 
34  /*
35  virtual void set_z0_max(float z0_max) {}
36  virtual unsigned int get_z0_max() const {return UINT_MAX;}
37 
38  virtual unsigned int get_bin(unsigned int zoomlevel, unsigned int* bins){return -9999;}
39 */
40  protected:
43 };
44 
45 #endif