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
ActsPropagator.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file ActsPropagator.h
1
2
#ifndef ACTSPROPAGATOR_H
3
#define ACTSPROPAGATOR_H
4
5
#include <
trackbase/ActsGeometry.h
>
6
7
#include <
Acts/Definitions/Algebra.hpp
>
8
#include <
Acts/EventData/TrackParameters.hpp
>
9
10
#pragma GCC diagnostic push
11
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
12
#include <
Acts/Propagator/EigenStepper.hpp
>
13
#pragma GCC diagnostic pop
14
#pragma GCC diagnostic push
15
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
16
#include <
Acts/Propagator/Propagator.hpp
>
17
#pragma GCC diagnostic pop
18
#include <
Acts/Propagator/Navigator.hpp
>
19
#include <
Acts/Propagator/detail/VoidPropagatorComponents.hpp
>
20
21
#include <
Acts/Utilities/Result.hpp
>
22
23
#include <
trackbase/ActsGeometry.h
>
24
25
class
SvtxTrack
;
26
class
SvtxVertex
;
27
class
SvtxVertexMap
;
28
class
SvtxTrackState
;
29
30
class
ActsPropagator
31
{
32
public
:
33
using
BoundTrackParam
=
Acts::BoundTrackParameters
;
34
using
BoundTrackParamResult
=
Acts::Result<BoundTrackParam>
;
36
using
BoundTrackParamPair
= std::pair<float, BoundTrackParam>;
37
using
BTPPairResult
=
Acts::Result<BoundTrackParamPair>
;
38
using
SurfacePtr
= std::shared_ptr<const Acts::Surface>;
39
using
Stepper
=
Acts::EigenStepper<>
;
40
using
FastPropagator
=
Acts::Propagator<Stepper>
;
41
using
SphenixPropagator
=
Acts::Propagator<Stepper, Acts::Navigator>
;
42
43
ActsPropagator
() {}
44
ActsPropagator
(
ActsGeometry
*
geometry
)
45
:
m_geometry
(geometry)
46
{
47
}
48
~ActsPropagator
() {}
49
52
SurfacePtr
makeVertexSurface
(
const
SvtxVertex
*
vertex
);
53
SurfacePtr
makeVertexSurface
(
const
Acts::Vector3
&
vertex
);
54
BoundTrackParamResult
makeTrackParams
(
SvtxTrack
* track,
55
SvtxVertexMap
* vertexMap);
56
BoundTrackParamResult
makeTrackParams
(
SvtxTrackState
*
state
,
57
int
trackCharge,
58
SurfacePtr
surf
);
59
65
BTPPairResult
propagateTrack
(
const
Acts::BoundTrackParameters
& params,
66
const
unsigned
int
sphenixLayer);
67
BTPPairResult
propagateTrack
(
const
Acts::BoundTrackParameters
& params,
68
const
SurfacePtr
&
surface
);
73
BTPPairResult
propagateTrackFast
(
const
Acts::BoundTrackParameters
& params,
74
const
SurfacePtr
&
surface
);
75
76
bool
checkLayer
(
const
unsigned
int
& sphenixlayer,
77
unsigned
int
& actsvolume,
78
unsigned
int
& actslayer);
79
void
verbosity
(
int
verb) {
m_verbosity
= verb; }
80
void
setConstFieldValue
(
float
field
) {
m_fieldval
=
field
; }
81
void
constField
() {
m_constField
=
true
; }
82
void
setOverstepLimit
(
const
double
overstep) {
m_overstepLimit
= overstep; }
83
SphenixPropagator
makePropagator
();
84
FastPropagator
makeFastPropagator
();
85
86
private
:
87
void
printTrackParams
(
const
Acts::BoundTrackParameters
& params);
88
89
int
m_verbosity
= 0;
90
91
bool
m_constField
=
false
;
92
93
ActsGeometry
*
m_geometry
=
nullptr
;
94
95
float
m_fieldval
= 1.4 *
Acts::UnitConstants::T
;
96
98
float
m_overstepLimit
= 0.01 *
Acts::UnitConstants::cm
;
// sphenix units cm
99
};
100
101
#endif
coresoftware
blob
master
offline
packages
trackreco
ActsPropagator.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:18:10
using
1.8.2 with
sPHENIX GitHub integration