Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:17:21

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 #ifndef PHSILICONSEEDMERGER_H
0004 #define PHSILICONSEEDMERGER_H
0005 
0006 #include <fun4all/SubsysReco.h>
0007 
0008 #include <algorithm>
0009 #include <string>
0010 #include <vector>
0011 
0012 class PHCompositeNode;
0013 class TrackSeedContainer;
0014 
0015 class PHSiliconSeedMerger : public SubsysReco
0016 {
0017  public:
0018   PHSiliconSeedMerger(const std::string &name = "PHSiliconSeedMerger");
0019 
0020   virtual ~PHSiliconSeedMerger();
0021 
0022   int Init(PHCompositeNode *topNode) override;
0023   int InitRun(PHCompositeNode *topNode) override;
0024   int process_event(PHCompositeNode *topNode) override;
0025   int ResetEvent(PHCompositeNode *topNode) override;
0026   int End(PHCompositeNode *topNode) override;
0027 
0028   void trackMapName(const std::string &name) { m_trackMapName = name; }
0029   void clusterOverlap(const unsigned int nclusters) { m_clusterOverlap = nclusters; }
0030   void searchIntt() { m_mvtxOnly = false; }
0031 
0032  private:
0033   int getNodes(PHCompositeNode *topNode);
0034 
0035   TrackSeedContainer *m_siliconTracks{nullptr};
0036   std::string m_trackMapName{"SiliconTrackSeedContainer"};
0037   unsigned int m_clusterOverlap{1};
0038   bool m_mvtxOnly{true};
0039 };
0040 
0041 #endif  // PHSILICONSEEDMERGER_H