Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 #ifndef PHCOSMICSILICONPROPAGATOR_H
0004 #define PHCOSMICSILICONPROPAGATOR_H
0005 
0006 #include <fun4all/SubsysReco.h>
0007 
0008 #include <string>
0009 
0010 class PHCompositeNode;
0011 class ActsGeometry;
0012 class TrackSeedContainer;
0013 class TrkrClusterContainer;
0014 
0015 class PHCosmicSiliconPropagator : public SubsysReco
0016 {
0017  public:
0018   PHCosmicSiliconPropagator(const std::string& name = "PHCosmicSiliconPropagator");
0019 
0020   ~PHCosmicSiliconPropagator() override;
0021 
0022   int Init(PHCompositeNode* topNode) override;
0023   int InitRun(PHCompositeNode* topNode) override;
0024   int process_event(PHCompositeNode* topNode) override;
0025   int End(PHCompositeNode* topNode) override;
0026   void set_track_map_name(const std::string& name) { _track_map_name = name; }
0027   void set_dca_z_cut(float z) { _dca_z_cut = z; }
0028   void set_dca_xy_cut(float xy) { _dca_xy_cut = xy; }
0029   void zero_field() { m_zeroField = true; }
0030   void resetSvtxSeedContainer() { m_resetContainer = true; }
0031 
0032  private:
0033   int createSeedContainer(TrackSeedContainer*& container, const std::string& container_name, PHCompositeNode* topNode);
0034 
0035   ActsGeometry* _tgeometry = nullptr;
0036   TrackSeedContainer* _si_seeds = nullptr;
0037   TrackSeedContainer* _tpc_seeds = nullptr;
0038   TrackSeedContainer* _svtx_seeds = nullptr;
0039   TrkrClusterContainer* _cluster_map = nullptr;
0040 
0041   float m_resetContainer = false;
0042   float _dca_z_cut = 5.;
0043   float _dca_xy_cut = 5.;
0044   bool m_zeroField = false;
0045   std::string _track_map_name = "SvtxTrackSeedContainer";
0046 };
0047 
0048 #endif  // PHCOSMICSILICONPROPAGATOR_H