ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkExtrapolation
TrkExEngine
TrkExEngine
PropagationEngine.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// PropagationEngine.h, (c) ATLAS Detector software
8
9
#ifndef TRKEXENGINE_PROPAGATIONENGINE_H
10
#define TRKEXENGINE_PROPAGATIONENGINE_H
11
12
// Gaudi
13
#include "
AthenaBaseComps/AthAlgTool.h
"
14
#include "GaudiKernel/ToolHandle.h"
15
// Trk
16
#include "
TrkExInterfaces/IPropagationEngine.h
"
17
#include "
TrkExInterfaces/IPropagator.h
"
18
#include "
TrkExInterfaces/ExtrapolationMacros.h
"
19
#include "
TrkExUtils/ExtrapolationCell.h
"
20
#include "
TrkEventPrimitives/PropDirection.h
"
21
#include "
TrkParameters/TrackParameters.h
"
22
#include "
TrkNeutralParameters/NeutralParameters.h
"
23
24
namespace
Trk
{
25
26
class
Surface
;
27
36
class
PropagationEngine
:
public
AthAlgTool
,
virtual
public
IPropagationEngine
{
37
public
:
38
40
PropagationEngine
(
const
std::string&,
const
std::string&,
const
IInterface*);
41
43
~PropagationEngine
();
44
46
StatusCode
initialize
();
47
49
StatusCode
finalize
();
50
52
using
IPropagationEngine::propagate
;
53
55
virtual
ExtrapolationCode
propagate
(
ExCellCharged
& ecCell,
56
const
Surface
& sf,
57
PropDirection
dir=
alongMomentum
,
58
BoundaryCheck
bcheck =
true
,
59
bool
returnCurvilinear =
true
)
const
;
60
62
virtual
ExtrapolationCode
propagate
(
ExCellNeutral
& enCell,
63
const
Surface
& sf,
64
PropDirection
dir=
alongMomentum
,
65
BoundaryCheck
bcheck =
true
,
66
bool
returnCurvilinear =
true
)
const
;
67
68
protected
:
69
ToolHandle<IPropagator>
m_propagator
{
this
,
"Propagator"
,
"Trk::RungeKuttaPropagator/AtlasRungeKuttaPropagator"
};
70
DoubleProperty
m_pathLimitTolerance
{
this
,
"PathLimitTolerance"
, 0.01};
71
StringProperty
m_sopPrefix_prop
{
this
,
"OutputPrefix"
,
""
};
72
StringProperty
m_sopPostfix_prop
{
this
,
"OutputPostfix"
,
""
};
73
74
};
75
76
77
}
// end of namespace
78
79
#endif
// TRKEXINTERFACES_INAVIGATIONENGINE_H
80
AthAlgTool.h
ExtrapolationCell.h
ExtrapolationMacros.h
IPropagationEngine.h
IPropagator.h
NeutralParameters.h
PropDirection.h
TrackParameters.h
AthAlgTool::AthAlgTool
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
AthAlgTool.cxx:16
Trk::BoundaryCheck
The BoundaryCheck class allows to steer the way surface boundaries are used for inside/outside checks...
Definition
BoundaryCheck.h:51
Trk::ExtrapolationCode
Definition
ExtrapolationCell.h:105
Trk::IPropagationEngine
A propagation engine wrapping the propagator algtool it respects the path limit to stop particles if ...
Definition
IPropagationEngine.h:40
Trk::IPropagationEngine::propagate
virtual ExtrapolationCode propagate(ExCellCharged &ecCell, const Surface &sf, PropDirection dir=alongMomentum, BoundaryCheck bcheck=true, bool returnCurvilinear=true) const =0
resolve the boundary situation - for charged particles Possible return codes :
Trk::PropagationEngine::~PropagationEngine
~PropagationEngine()
Destructor.
Trk::PropagationEngine::initialize
StatusCode initialize()
AlgTool initialize method.
Definition
PropagationEngine.cxx:31
Trk::PropagationEngine::m_pathLimitTolerance
DoubleProperty m_pathLimitTolerance
Definition
PropagationEngine.h:70
Trk::PropagationEngine::PropagationEngine
PropagationEngine(const std::string &, const std::string &, const IInterface *)
Constructor.
Definition
PropagationEngine.cxx:19
Trk::PropagationEngine::m_sopPostfix_prop
StringProperty m_sopPostfix_prop
Definition
PropagationEngine.h:72
Trk::PropagationEngine::m_propagator
ToolHandle< IPropagator > m_propagator
Definition
PropagationEngine.h:69
Trk::PropagationEngine::finalize
StatusCode finalize()
AlgTool finalize method.
Definition
PropagationEngine.cxx:47
Trk::PropagationEngine::m_sopPrefix_prop
StringProperty m_sopPrefix_prop
Definition
PropagationEngine.h:71
Trk::PropagationEngine::propagate
virtual ExtrapolationCode propagate(ExCellCharged &ecCell, const Surface &sf, PropDirection dir=alongMomentum, BoundaryCheck bcheck=true, bool returnCurvilinear=true) const
resolve the boundary situation - for charged particles
Definition
PropagationEngine.cxx:55
Trk::Surface
Abstract Base Class for tracking surfaces.
Definition
Surface.h:79
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
Trk::PropDirection
PropDirection
PropDirection, enum for direction of the propagation.
Definition
PropDirection.h:19
Trk::alongMomentum
@ alongMomentum
Definition
PropDirection.h:20
Trk::ExCellCharged
ExtrapolationCell< TrackParameters > ExCellCharged
Definition
IExtrapolationEngine.h:24
Trk::ExCellNeutral
ExtrapolationCell< NeutralParameters > ExCellNeutral
Definition
IExtrapolationEngine.h:25
Generated on
for ATLAS Offline Software by
1.17.0