Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHActsTrackPropagator.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHActsTrackPropagator.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef PHACTSTRACKPROPAGATOR_H
4 #define PHACTSTRACKPROPAGATOR_H
5 
6 #include "ActsPropagator.h"
7 
8 #include <fun4all/SubsysReco.h>
9 #include <trackbase/TrkrDefs.h>
11 
12 #include <trackbase/ActsGeometry.h>
13 
17 
19 
20 #include <string>
21 
22 class PHCompositeNode;
23 class SvtxTrackMap;
24 class ActsGeometry;
25 class SvtxVertexMap;
26 
28 {
29  public:
30  using BoundTrackParam =
33  using SurfacePtr = std::shared_ptr<const Acts::Surface>;
35 
36  PHActsTrackPropagator(const std::string &name = "PHActsTrackPropagator");
37 
38  ~PHActsTrackPropagator() override;
39 
40  int Init(PHCompositeNode *topNode) override;
41  int InitRun(PHCompositeNode *topNode) override;
42 
43  int process_event(PHCompositeNode *topNode) override;
44 
45  int End(PHCompositeNode *topNode) override;
46 
47  void Print(const std::string &what = "ALL") const override;
48  void setPropagationLayer(unsigned int layer) { m_sphenixLayer = layer; }
49 
50  private:
51  int getNodes(PHCompositeNode *topNode);
53  const Acts::BoundTrackParameters &params);
54  void convertsPHENIXLayerToActsLayer(unsigned int &actsvolume,
55  unsigned int &actslayer);
57  SvtxTrack *svtxTrack);
58 
63 
64  unsigned int m_sphenixLayer = std::numeric_limits<unsigned int>::max();
65 };
66 
67 #endif // PHACTSTRACKPROPAGATOR_H