Analysis Software
Documentation for
sPHENIX
simulation software
Home page
Related Pages
Modules
Namespaces
Classes
Files
Examples
External Links
File List
File Members
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
>
10
#include <
trackbase_historic/SvtxTrack.h
>
11
12
#include <
trackbase/ActsGeometry.h
>
13
14
#include <
Acts/Definitions/Algebra.hpp
>
15
#include <
Acts/EventData/TrackParameters.hpp
>
16
#include <
Acts/Utilities/Result.hpp
>
17
18
#include <
ActsExamples/EventData/Trajectories.hpp
>
19
20
#include <string>
21
22
class
PHCompositeNode
;
23
class
SvtxTrackMap
;
24
class
ActsGeometry
;
25
class
SvtxVertexMap
;
26
27
class
PHActsTrackPropagator
:
public
SubsysReco
28
{
29
public
:
30
using
BoundTrackParam
=
31
const
Acts::BoundTrackParameters
;
32
using
BoundTrackParamResult
=
ActsPropagator::BTPPairResult
;
33
using
SurfacePtr
= std::shared_ptr<const Acts::Surface>;
34
using
Trajectory
=
ActsExamples::Trajectories
;
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);
52
BoundTrackParamResult
propagateTrack
(
53
const
Acts::BoundTrackParameters
¶ms);
54
void
convertsPHENIXLayerToActsLayer
(
unsigned
int
&actsvolume,
55
unsigned
int
&actslayer);
56
void
addTrackState
(
BoundTrackParamResult
¶ms,
57
SvtxTrack
*svtxTrack);
58
60
ActsGeometry
*
m_tGeometry
=
nullptr
;
61
SvtxTrackMap
*
m_trackMap
=
nullptr
;
62
SvtxVertexMap
*
m_vertexMap
=
nullptr
;
63
64
unsigned
int
m_sphenixLayer
= std::numeric_limits<unsigned int>::max();
65
};
66
67
#endif // PHACTSTRACKPROPAGATOR_H
coresoftware
blob
master
offline
packages
trackreco
PHActsTrackPropagator.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:18:10
using
1.8.2 with
sPHENIX GitHub integration