Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:18:25

0001 /*!
0002  *  \file         PH3DVertexing.h
0003  *  \brief      Base class for track seeding
0004  *  \author     Haiwang Yu <yuhw@nmsu.edu>
0005  */
0006 
0007 #ifndef TRACKRECO_PH3DVERTEXING_H
0008 #define TRACKRECO_PH3DVERTEXING_H
0009 
0010 // PHENIX includes
0011 #include <fun4all/SubsysReco.h>
0012 
0013 // STL includes
0014 #include <set>
0015 #include <string>
0016 
0017 // forward declarations
0018 class PHCompositeNode;
0019 
0020 //class SvtxClusterMap;
0021 //class TrkrClusterContainer;
0022 
0023 class SvtxVertexMap;
0024 class SvtxTrackMap;
0025 
0026 /// \class PH3DVertexing
0027 ///
0028 /// \brief Base class for track seeding
0029 ///
0030 class PH3DVertexing : public SubsysReco
0031 {
0032  public:
0033   PH3DVertexing(const std::string &name = "PH3DVertexing");
0034   ~PH3DVertexing() override {}
0035 
0036   int InitRun(PHCompositeNode *topNode) override;
0037   int process_event(PHCompositeNode *topNode) override;
0038 
0039   virtual const std::set<unsigned int> &get_seeding_layers() const = 0;
0040 
0041   virtual void set_seeding_layers(const unsigned int a[], const unsigned int n) = 0;
0042 
0043  protected:
0044   /// setup interface for trackers, called in InitRun, setup things like pointers to nodes.
0045   /// overrided in derived classes
0046   virtual int Setup(PHCompositeNode *topNode);
0047 
0048   /// process event interface for trackers, called in process_event.
0049   /// implemented in derived classes
0050   virtual int Process() = 0;
0051 
0052   //SvtxClusterMap *_cluster_map;
0053   // TrkrClusterContainer *_cluster_map;
0054 
0055   SvtxVertexMap *_vertex_map;
0056   SvtxTrackMap *_track_map;
0057 
0058  private:
0059   /// fetch node pointers
0060   int GetNodes(PHCompositeNode *topNode);
0061 };
0062 
0063 #endif