ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HelixHoughBin.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file HelixHoughBin.h
1 #ifndef G4HOUGH_HELIXHOUGHBIN_H
2 #define G4HOUGH_HELIXHOUGHBIN_H
3 
4 #include "HelixHoughSpace.h"
5 
6 #include <phool/PHObject.h>
7 #include <phool/phool.h>
8 
9 #include <climits>
10 #include <cmath>
11 #include <iostream>
12 #include <map>
13 #include <set>
14 
15 class HelixHoughSpace;
16 
17 // bin has hierarchy, 5 bins for helix parameters
18 
19 class HelixHoughBin : public PHObject
20 {
21  public:
22  typedef std::set<unsigned int> ClusterSet;
23  typedef std::set<unsigned int>::const_iterator ConstClusterIter;
24  typedef std::set<unsigned int>::iterator ClusterIter;
25 
26  ~HelixHoughBin() override {}
27 
28  // The "standard PHObject response" functions...
29  void identify(std::ostream& os = std::cout) const override
30  {
31  os << "HelixHoughBin base class" << std::endl;
32  }
33  int isValid() const override { return 0; }
34  PHObject* CloneMe() const override { return nullptr; }
35 
36  virtual void init() {}
37 
38  // get_cluster_IDs() {}
39  virtual void add_cluster_ID(unsigned int /*cluster_ID*/) {}
40  virtual unsigned int get_count() const { return UINT_MAX; }
41  virtual void clear_clusters() {}
42  virtual bool empty_clusters() { return true; }
43  virtual size_t erase_cluster(unsigned int /*cluster_id*/) { return 0; }
44  virtual ConstClusterIter begin_clusters() const;
45  virtual ConstClusterIter find_cluster(unsigned int cluster_id) const;
46  virtual ConstClusterIter end_clusters() const;
47  virtual ClusterIter begin_clusters();
48  virtual ClusterIter find_cluster(unsigned int cluster_id);
49  virtual ClusterIter end_clusters();
50 
51  virtual unsigned int get_bin(unsigned int /*zoomlevel*/) const { return UINT_MAX; }
52  virtual void set_bin(unsigned int /*zoomlevel*/, unsigned int /*bin*/) {}
53 
54  virtual unsigned int get_zoomlevel() const { return UINT_MAX; }
55  virtual void set_zoomlevel(unsigned int /*zoomlevel*/) {}
56 
57  virtual unsigned int get_kappa_bin(unsigned int /*zoomlevel*/) const { return UINT_MAX; }
58  virtual void set_kappa_bin(unsigned int /*zoomlevel*/, unsigned int /*kappa_bin*/) {}
59  virtual unsigned int get_phi_bin(unsigned int /*zoomlevel*/) const { return UINT_MAX; }
60  virtual void set_phi_bin(unsigned int /*zoomlevel*/, unsigned int /*phi_bin*/) {}
61  virtual unsigned int get_phi_high_bin(unsigned int /*zoomlevel*/) const { return UINT_MAX; }
62  virtual void set_phi_high_bin(unsigned int /*zoomlevel*/) {}
63  virtual void set_phi_high_bin(unsigned int /*zoomlevel*/, unsigned int /*phi_high_bin*/) {}
64  virtual unsigned int get_phi_low_bin(unsigned int /*zoomlevel*/) const { return UINT_MAX; }
65  virtual void set_phi_low_bin(unsigned int /*zoomlevel*/) {}
66  virtual void set_phi_low_bin(unsigned int /*zoomlevel*/, unsigned int /*phi_low_bin*/) {}
67  virtual unsigned int get_d_bin(unsigned int /*zoomlevel*/) const { return UINT_MAX; }
68  virtual void set_d_bin(unsigned int /*zoomlevel*/, unsigned int /*d_bin*/) {}
69  virtual unsigned int get_dzdl_bin(unsigned int /*zoomlevel*/) const { return UINT_MAX; }
70  virtual void set_dzdl_bin(unsigned int /*zoomlevel*/, unsigned int /*dzdl_bin*/) {}
71  virtual unsigned int get_dzdl_high_bin(unsigned int /*zoomlevel*/) const { return UINT_MAX; }
72  virtual void set_dzdl_high_bin(unsigned int /*zoomlevel*/) {}
73  virtual void set_dzdl_high_bin(unsigned int /*zoomlevel*/, unsigned int /*dzdl_high_bin*/) {}
74  virtual unsigned int get_dzdl_low_bin(unsigned int /*zoomlevel*/) const { return UINT_MAX; }
75  virtual void set_dzdl_low_bin(unsigned int /*zoomlevel*/) {}
76  virtual void set_dzdl_low_bin(unsigned int /*zoomlevel*/, unsigned int /*dzdl_low_bin*/) {}
77  virtual unsigned int get_z0_bin(unsigned int /*zoomlevel*/) const { return UINT_MAX; }
78  virtual void set_z0_bin(unsigned int /*zoomlevel*/, unsigned int /*z0_bin*/) {}
79 
80  virtual void set_hough_space(HelixHoughSpace* /*hough_space*/){};
81  virtual void set_bins(unsigned int /*zoomlevel*/, unsigned int /*bin*/){};
82 
83  virtual unsigned int get_global_bin(unsigned int /*zoomlevel*/) { return UINT_MAX; }
84  virtual void set_global_bin(unsigned int /*zoomlevel*/) {}
85 
86  virtual unsigned int get_neighbors_global_bin(unsigned int /*zoomlevel*/, unsigned int /*var*/, unsigned int /*bit_sign*/) { return UINT_MAX; }
87 
88  virtual float get_kappa_center(unsigned int /*zoomlevel*/) { return 999.; }
89  virtual float get_phi_center(unsigned int /*zoomlevel*/) { return 999.; }
90  virtual float get_d_center(unsigned int /*zoomlevel*/) { return 999.; }
91  virtual float get_dzdl_center(unsigned int /*zoomlevel*/) { return 999.; }
92  virtual float get_z0_center(unsigned int /*zoomlevel*/) { return 999.; }
93 
94  protected:
96 
98 };
99 
100 #endif