Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001 #include <fun4all/SubsysReco.h>
0002 #include <trackbase/ActsGeometry.h>
0003 #include <trackbase/TrackFitUtils.h>
0004 #include <trackbase/TrkrClusterCrossingAssoc.h>
0005 #include <trackbase_historic/SvtxTrackMap.h>
0006 #include <trackbase_historic/TrackSeedContainer.h>
0007 
0008 class PHSiliconHelicalPropagator : public SubsysReco
0009 {
0010  public:
0011   PHSiliconHelicalPropagator(const std::string& name = "PHSiliconHelicalPropagator");
0012   ~PHSiliconHelicalPropagator();
0013 
0014   int InitRun(PHCompositeNode* topNode) override;
0015   int process_event(PHCompositeNode* topNode) override;
0016   int End(PHCompositeNode* topNode) override;
0017 
0018   void set_track_map_name(const std::string& name) { _track_map_name = name; }
0019   void zeroField() { m_zeroField = true;  }
0020   void dca_xy_cut(const float cut) { _dca_cut = cut; }
0021   void dca_z_cut(const float cut) { _dca_z_cut = cut; }
0022 
0023  private:
0024   int createSeedContainer(TrackSeedContainer*& container, const std::string& container_name, PHCompositeNode* topNode);
0025 
0026   ActsGeometry* _tgeometry = nullptr;
0027   TrackSeedContainer* _si_seeds = nullptr;
0028   TrackSeedContainer* _tpc_seeds = nullptr;
0029   TrackSeedContainer* _svtx_seeds = nullptr;
0030   TrkrClusterContainer* _cluster_map = nullptr;
0031   TrkrClusterCrossingAssoc* _cluster_crossing_map = nullptr;
0032 
0033   float _dca_cut = 1.;
0034   float _dca_z_cut = 1.;
0035   bool m_zeroField = false;
0036   std::string _track_map_name = "SvtxTrackSeedContainer";
0037 };