File indexing completed on 2025-08-06 08:18:29
0001
0002
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