ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHActsVertexPropagator.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHActsVertexPropagator.h
1 #ifndef TRACKRECO_PHACTSVERTEXPROPAGATOR_H
2 #define TRACKRECO_PHACTSVERTEXPROPAGATOR_H
3 
4 #include <fun4all/SubsysReco.h>
5 #include <trackbase/TrkrDefs.h>
7 
13 
14 #include <ActsExamples/EventData/TrkrClusterMultiTrajectory.hpp>
15 
16 class SvtxTrackMap;
17 class SvtxVertexMap;
18 class SvtxTrack;
19 
20 using BoundTrackParamPtr =
21  std::unique_ptr<const Acts::BoundTrackParameters>;
23 using SurfacePtr = std::shared_ptr<const Acts::Surface>;
24 using Trajectory = ActsExamples::TrkrClusterMultiTrajectory;
25 
27 {
28 
29  public:
30  PHActsVertexPropagator(const std::string& name = "PHActsVertexPropagator");
31 
32  int Init(PHCompositeNode *topNode) override;
33  int InitRun(PHCompositeNode *topNode) override;
34  int process_event(PHCompositeNode *topNode) override;
35  int End(PHCompositeNode *topNode) override;
36 
37  private:
38 
39  int getNodes(PHCompositeNode *topNode);
40  void setTrackVertexTo0();
42  const unsigned int vtxid);
43  Acts::Vector3D getVertex(const unsigned int vtxid);
45  void updateTrackDCA(SvtxTrack* track);
49  std::map<const unsigned int, Trajectory> *m_trajectories = nullptr;
50 
51 };
52 
53 #endif