Back to home page

sPhenix code displayed by LXR

 
 

    


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

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