ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkExtrapolation
TrkExEngine
src
StaticEngine.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// StaticEngine.cxx, (c) ATLAS Detector software
8
9
// STL
10
#include <sstream>
11
// Trk include
12
#include "
TrkExEngine/StaticEngine.h
"
13
14
// constructor
15
Trk::StaticEngine::StaticEngine
(
const
std::string& t,
const
std::string& n,
const
IInterface* p)
16
:
AthAlgTool
(t,n,p)
17
{
18
declareInterface<Trk::IExtrapolationEngine>(
this
);
19
}
20
21
// destructor
22
Trk::StaticEngine::~StaticEngine
()
23
=
default
;
24
25
26
// the interface method initialize
27
StatusCode
Trk::StaticEngine::initialize
()
28
{
29
m_sopPrefix
=
m_sopPrefix_prop
;
30
m_sopPostfix
=
m_sopPostfix_prop
;
31
32
if
(
m_propagationEngine
.retrieve().isFailure()){
33
EX_MSG_FATAL
(
""
,
"initialize"
,
""
,
"failed to retrieve propagation engine '"
<<
m_propagationEngine
<<
"'. Aborting."
);
34
return
StatusCode::FAILURE;
35
}
else
36
EX_MSG_DEBUG
(
""
,
"initialize"
,
""
,
"successfully propagation engine '"
<<
m_propagationEngine
<<
"'."
);
37
38
if
(
m_navigationEngine
.retrieve().isFailure()){
39
EX_MSG_FATAL
(
""
,
"initialize"
,
""
,
"failed to retrieve navigation engine '"
<<
m_navigationEngine
<<
"'. Aborting."
);
40
return
StatusCode::FAILURE;
41
}
else
42
EX_MSG_DEBUG
(
""
,
"initialize"
,
""
,
"successfully retrieved '"
<<
m_navigationEngine
<<
"'."
);
43
44
if
(
m_materialEffectsEngine
.retrieve().isFailure()){
45
EX_MSG_FATAL
(
""
,
"initialize"
,
""
,
"failed to retrieve material effect engine '"
<<
m_materialEffectsEngine
<<
"'. Aborting."
);
46
return
StatusCode::FAILURE;
47
}
else
48
EX_MSG_DEBUG
(
""
,
"initialize"
,
""
,
"successfully retrieved '"
<<
m_materialEffectsEngine
<<
"'."
);
49
50
EX_MSG_DEBUG
(
""
,
"initialize"
,
""
,
"successful."
);
51
return
StatusCode::SUCCESS;
52
}
53
54
// the interface method finalize
55
StatusCode
Trk::StaticEngine::finalize
()
56
{
57
EX_MSG_DEBUG
(
""
,
"finalize"
,
""
,
"successful."
);
58
return
StatusCode::SUCCESS;
59
}
60
61
63
Trk::ExtrapolationCode
Trk::StaticEngine::extrapolate
(
ExCellCharged
& ecCharged,
64
const
Surface
* sf,
65
const
BoundaryCheck
& bcheck)
const
66
{
return
extrapolateT<TrackParameters>
(ecCharged,sf,ecCharged.
propDirection
,bcheck); }
67
68
70
Trk::ExtrapolationCode
Trk::StaticEngine::extrapolate
(
ExCellNeutral
& ecNeutral,
71
const
Surface
* sf,
72
const
BoundaryCheck
& bcheck)
const
73
{
return
extrapolateT<NeutralParameters>
(ecNeutral,sf,ecNeutral.
propDirection
,bcheck); }
EX_MSG_DEBUG
#define EX_MSG_DEBUG(navstep, step, idx, x)
Definition
ExtrapolationMacros.h:13
EX_MSG_FATAL
#define EX_MSG_FATAL(navstep, step, idx, x)
Definition
ExtrapolationMacros.h:16
StaticEngine.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::ExtrapolationCell::propDirection
PropDirection propDirection
this is the propagation direction
Definition
ExtrapolationCell.h:260
Trk::ExtrapolationCode
Definition
ExtrapolationCell.h:105
Trk::IExtrapolationEngine::m_sopPrefix
std::string m_sopPrefix
< SCREEN output formatting (SOP) - unify amongst extrapolation engines
Definition
IExtrapolationEngine.h:63
Trk::IExtrapolationEngine::m_sopPostfix
std::string m_sopPostfix
prefix for screen output
Definition
IExtrapolationEngine.h:64
Trk::StaticEngine::~StaticEngine
virtual ~StaticEngine()
Destructor.
Trk::StaticEngine::m_sopPostfix_prop
StringProperty m_sopPostfix_prop
Definition
StaticEngine.h:133
Trk::StaticEngine::m_materialEffectsEngine
ToolHandle< IMaterialEffectsEngine > m_materialEffectsEngine
the material effects updated
Definition
StaticEngine.h:130
Trk::StaticEngine::extrapolateT
ExtrapolationCode extrapolateT(ExtrapolationCell< T > &eCell, const Surface *sf=0, PropDirection dir=alongMomentum, const BoundaryCheck &bcheck=true) const
main loop extrapolation method
Trk::StaticEngine::extrapolate
virtual ExtrapolationCode extrapolate(ExCellCharged &ecCharged, const Surface *sf=0, const BoundaryCheck &bcheck=true) const override
charged extrapolation - public interface
Definition
StaticEngine.cxx:63
Trk::StaticEngine::initialize
virtual StatusCode initialize() override
AlgTool initialize method.
Definition
StaticEngine.cxx:27
Trk::StaticEngine::m_propagationEngine
ToolHandle< IPropagationEngine > m_propagationEngine
the used propagation engine
Definition
StaticEngine.h:128
Trk::StaticEngine::StaticEngine
StaticEngine(const std::string &, const std::string &, const IInterface *)
Constructor.
Definition
StaticEngine.cxx:15
Trk::StaticEngine::m_navigationEngine
ToolHandle< INavigationEngine > m_navigationEngine
the navigation engine to resolve the boundary
Definition
StaticEngine.h:129
Trk::StaticEngine::m_sopPrefix_prop
StringProperty m_sopPrefix_prop
Definition
StaticEngine.h:132
Trk::StaticEngine::finalize
virtual StatusCode finalize() override
AlgTool finalize method.
Definition
StaticEngine.cxx:55
Trk::Surface
Abstract Base Class for tracking surfaces.
Definition
Surface.h:79
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