Analysis Software
Documentation for sPHENIX simulation 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 "ActsPropagator.h"
5 
6 #include <fun4all/SubsysReco.h>
8 #include <trackbase/TrkrDefs.h>
9 
14 
16 
17 class SvtxTrackMap;
18 class SvtxVertexMap;
19 class SvtxTrack;
20 
22 {
23  public:
24  using BoundTrackParam =
27  using SurfacePtr = std::shared_ptr<const Acts::Surface>;
29 
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  void fieldMap(std::string& fieldmap){m_fieldMap = fieldmap;}
38 
39  private:
40  int getNodes(PHCompositeNode *topNode);
43  const unsigned int vtxid);
44  Acts::Vector3 getVertex(const unsigned int vtxid);
45  void updateSvtxTrack(SvtxTrack *track,
46  const Acts::BoundTrackParameters &params);
47  void setVtxChi2();
48 
52  std::map<const unsigned int, Trajectory> *m_trajectories = nullptr;
54 };
55 
56 #endif