Back to home page

sPhenix code displayed by LXR

 
 

    


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

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