Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001 /*!
0002  *  \file         PHTrackPropagating.h
0003  *  \brief      Base class for track seeding
0004  *  \author     Haiwang Yu <yuhw@nmsu.edu>
0005  */
0006 
0007 #ifndef TRACKRECO_PHTRACKPROPAGATING_H
0008 #define TRACKRECO_PHTRACKPROPAGATING_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 class SvtxTrackMap;
0022 
0023 /// \class PHTrackPropagating
0024 ///
0025 /// \brief Base class for track seeding
0026 ///
0027 class PHTrackPropagating : public SubsysReco
0028 {
0029  public:
0030   PHTrackPropagating(const std::string &name = "PHTrackPropagating");
0031   ~PHTrackPropagating() override = default;
0032 
0033   int InitRun(PHCompositeNode *topNode) override;
0034   int process_event(PHCompositeNode *topNode) override;
0035   int End(PHCompositeNode *topNode) override;
0036   void set_track_map_name(const std::string &map_name) { _track_map_name = map_name; }
0037   void SetUseTruthClusters(bool setit){_use_truth_clusters = setit;}
0038 
0039  protected:
0040   /// setup interface for trackers, called in InitRun, setup things like pointers to nodes.
0041   /// overrided in derived classes
0042   virtual int Setup(PHCompositeNode *topNode);
0043 
0044   /// process event interface for trackers, called in process_event.
0045   /// implemented in derived classes
0046   virtual int Process() = 0;
0047 
0048   ///
0049   virtual int End() = 0;
0050 
0051 
0052   //SvtxClusterMap *_cluster_map;
0053   TrkrClusterContainer *_cluster_map = nullptr;
0054   SvtxVertexMap *_vertex_map = nullptr;
0055   SvtxTrackMap *_track_map = nullptr;
0056 
0057   std::string _track_map_name = "SvtxTrackMap";
0058 
0059   bool _use_truth_clusters = false;
0060 
0061  private:
0062   /// fetch node pointers
0063   int GetNodes(PHCompositeNode *topNode);
0064 };
0065 
0066 #endif