Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MvtxPrototype2Clusterizer.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file MvtxPrototype2Clusterizer.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef MVTX_P2_CLUSTERIZER_H
4 #define MVTX_P2_CLUSTERIZER_H
5 
6 #include <fun4all/SubsysReco.h>
7 #include <utility>
8 #include <trackbase/TrkrDefs.h>
9 
10 class TrkrHit;
14 
19 {
20  public:
21  typedef std::pair<unsigned int, unsigned int> pixel;
22 
23  MvtxPrototype2Clusterizer(const std::string &name = "MvtxPrototype2Clusterizer");
25 
27  int Init(PHCompositeNode *topNode) { return 0; }
28 
30  int InitRun(PHCompositeNode *topNode);
31 
33  int process_event(PHCompositeNode *topNode);
34 
36  int End(PHCompositeNode *topNode) { return 0; }
37 
39  void SetZClustering(const bool make_z_clustering)
40  {
41  m_makeZClustering = make_z_clustering;
42  }
43  bool GetZClustering() const
44  {
45  return m_makeZClustering;
46  }
47 
48  private:
49  //bool are_adjacent(const pixel lhs, const pixel rhs);
50  bool are_adjacent(const std::pair<TrkrDefs::hitkey, TrkrHit*> &lhs, const std::pair<TrkrDefs::hitkey, TrkrHit*> &rhs);
51 
52  void ClusterMvtx(PHCompositeNode *topNode);
53 
54  void PrintClusters(PHCompositeNode *topNode);
55 
56  // node tree storage pointers
60 
61  // settings
62  bool m_makeZClustering; // z_clustering_option
63 };
64 
65 #endif // MVTX_MVTXCLUSTERIZER_H