EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HelixHoughSpace.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file HelixHoughSpace.h
1 #ifndef G4HOUGH_HELIXHOUGHSPACE_H
2 #define G4HOUGH_HELIXHOUGHSPACE_H
3 
4 #include <phool/PHObject.h>
5 
6 #include <climits>
7 #include <cmath>
8 
9 #ifndef ZOOMLEVEL_MAX
10 #define ZOOMLEVEL_MAX 5
11 #endif
12 
13 class HelixHoughSpace : public PHObject {
14 
15 public :
16  ~HelixHoughSpace() override {}
17 
18 
19  // The "standard PHObject response" functions...
20  void identify(std::ostream &os=std::cout) const override {
21  os << "HelixHough 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 add_one_zoom(std::vector<unsigned int>& /*one_zoom*/) {};
28  virtual unsigned int get_max_zoom() {return UINT_MAX;}
29  virtual void print_zoom_profile() {}
30  virtual void print_para_range() {}
31 
32  virtual void set_kappa_min(float /*kappa_min*/) {}
33  virtual float get_kappa_min() const {return NAN;}
34  virtual void set_kappa_max(float /*kappa_max*/) {}
35  virtual float get_kappa_max() const {return NAN;}
36  virtual void set_phi_min(float /*phi_min*/) {}
37  virtual float get_phi_min() const {return NAN;}
38  virtual void set_phi_max(float /*phi_max*/) {}
39  virtual float get_phi_max() const {return NAN;}
40  virtual void set_d_min(float /*d_min*/) {}
41  virtual float get_d_min() const {return NAN;}
42  virtual void set_d_max(float /*d_max*/) {}
43  virtual float get_d_max() const {return NAN;}
44  virtual void set_dzdl_min(float /*dzdl_min*/) {}
45  virtual float get_dzdl_min() const {return NAN;}
46  virtual void set_dzdl_max(float /*dzdl_max*/) {}
47  virtual float get_dzdl_max() const {return NAN;}
48  virtual void set_z0_min(float /*z0_min*/) {}
49  virtual float get_z0_min() const {return NAN;}
50  virtual void set_z0_max(float /*z0_max*/) {}
51  virtual float get_z0_max() const {return NAN;}
52 
53 
54  virtual unsigned int get_n_kappa_bins(unsigned int /*zoomlevel*/) const {return UINT_MAX;}
55  virtual unsigned int get_n_phi_bins(unsigned int /*zoomlevel*/) const {return UINT_MAX;}
56  virtual unsigned int get_n_d_bins(unsigned int /*zoomlevel*/) const {return UINT_MAX;}
57  virtual unsigned int get_n_dzdl_bins(unsigned int /*zoomlevel*/) const {return UINT_MAX;}
58  virtual unsigned int get_n_z0_bins(unsigned int /*zoomlevel*/) const {return UINT_MAX;}
59 
60  virtual float get_kappa_bin_size(unsigned int /*zoomlevel*/) const {return NAN;}
61  virtual float get_phi_bin_size(unsigned int /*zoomlevel*/) const {return NAN;}
62  virtual float get_d_bin_size(unsigned int /*zoomlevel*/) const {return NAN;}
63  virtual float get_dzdl_bin_size(unsigned int /*zoomlevel*/) const {return NAN;}
64  virtual float get_z0_bin_size(unsigned int /*zoomlevel*/) const {return NAN;}
65 
66 /*
67  virtual float get_kappa_center(unsigned int zoomlevel, std::vector<unsigned int>& v_ik) const {return NAN;}
68  virtual float get_phi_center(unsigned int zoomlevel, std::vector<unsigned int>& v_ip) const {return NAN;}
69  virtual float get_d_center(unsigned int zoomlevel, std::vector<unsigned int>& v_id) const {return NAN;}
70  virtual float get_dzdl_center(unsigned int zoomlevel, std::vector<unsigned int>& v_il) const {return NAN;}
71  virtual float get_z0_center(unsigned int zoomlevel, std::vector<unsigned int>& v_iz) const {return NAN;}
72 */
73  virtual unsigned int get_kappa_bin(unsigned int /*zoomlevel*/, float /*kappa*/) const {return UINT_MAX;}
74  virtual unsigned int get_phi_bin(unsigned int /*zoomlevel*/, float /*phi*/) const {return UINT_MAX;}
75  virtual unsigned int get_d_bin(unsigned int /*zoomlevel*/, float /*d*/) const {return UINT_MAX;}
76  virtual unsigned int get_dzdl_bin(unsigned int /*zoomlevel*/, float /*dzdl*/) const {return UINT_MAX;}
77  virtual unsigned int get_z0_bin(unsigned int /*zoomlevel*/, float /*z0*/) const {return UINT_MAX;}
78 
79 
80  virtual unsigned int get_bin(unsigned int /*zoomlevel*/, unsigned int* /*bins*/) const {return UINT_MAX;}
81 
82 protected:
83  HelixHoughSpace() = default;
85 };
86 
87 #endif