ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkExtrapolation
TrkExEngine
src
StaticNavigationEngine.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
// StaticNavigationEngine.cxx, (c) ATLAS Detector software
8
9
// STL
10
#include <sstream>
11
// Trk include
12
#include "
TrkExEngine/StaticNavigationEngine.h
"
13
14
// constructor
15
Trk::StaticNavigationEngine::StaticNavigationEngine
(
const
std::string& t,
const
std::string& n,
const
IInterface* p)
16
:
AthAlgTool
(t,n,p)
17
{
18
declareInterface<Trk::INavigationEngine>(
this
);
19
}
20
21
// destructor
22
Trk::StaticNavigationEngine::~StaticNavigationEngine
()
23
=
default
;
24
25
// the interface method initialize
26
StatusCode
Trk::StaticNavigationEngine::initialize
()
27
{
28
m_sopPrefix
=
m_sopPrefix_prop
;
29
m_sopPostfix
=
m_sopPostfix_prop
;
30
31
ATH_CHECK
(
m_trackingGeometryReadKey
.initialize(!
m_trackingGeometryReadKey
.key().empty()) );
32
ATH_CHECK
(
m_propagationEngine
.retrieve());
33
ATH_CHECK
(
m_materialEffectsEngine
.retrieve());
34
35
EX_MSG_DEBUG
(
""
,
"initialize"
,
""
,
"successful"
);
36
return
StatusCode::SUCCESS;
37
}
38
39
// the interface method finalize
40
StatusCode
Trk::StaticNavigationEngine::finalize
()
41
{
42
EX_MSG_DEBUG
(
""
,
"finalize"
,
""
,
"successful"
);
43
return
StatusCode::SUCCESS;
44
}
45
47
Trk::ExtrapolationCode
Trk::StaticNavigationEngine::resolveBoundary
(
Trk::ExCellCharged
& ecCharged,
PropDirection
dir)
const
48
{
return
resolveBoundaryT<Trk::TrackParameters>
(ecCharged,dir); }
49
51
Trk::ExtrapolationCode
Trk::StaticNavigationEngine::resolveBoundary
(
Trk::ExCellNeutral
& ecNeutral,
PropDirection
dir)
const
52
{
return
resolveBoundaryT<Trk::NeutralParameters>
(ecNeutral,dir); }
53
55
Trk::ExtrapolationCode
Trk::StaticNavigationEngine::resolvePosition
(
Trk::ExCellCharged
& ecCharged,
PropDirection
dir,
bool
noLoop)
const
56
{
return
resolvePositionT<Trk::TrackParameters>
(ecCharged,dir, noLoop); }
57
59
Trk::ExtrapolationCode
Trk::StaticNavigationEngine::resolvePosition
(
Trk::ExCellNeutral
& ecNeutral,
PropDirection
dir,
bool
noLoop)
const
60
{
return
resolvePositionT<Trk::NeutralParameters>
(ecNeutral,dir, noLoop); }
61
62
void
Trk::StaticNavigationEngine::throwFailedToGetTrackingGeomtry
()
const
{
63
std::stringstream
msg
;
64
msg
<<
"Failed to get conditions data "
<<
m_trackingGeometryReadKey
.key() <<
"."
;
65
throw
std::runtime_error(
msg
.str());
66
}
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
EX_MSG_DEBUG
#define EX_MSG_DEBUG(navstep, step, idx, x)
Definition
ExtrapolationMacros.h:13
StaticNavigationEngine.h
AthAlgTool::AthAlgTool
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
AthAlgTool.cxx:16
AthCommonMsg< AlgTool >::msg
MsgStream & msg() const
Definition
AthCommonMsg.h:24
Trk::ExtrapolationCode
Definition
ExtrapolationCell.h:105
Trk::INavigationEngine::m_sopPrefix
std::string m_sopPrefix
< SCREEN output formatting (SOP) - unify amongst extrapolation engines
Definition
INavigationEngine.h:64
Trk::INavigationEngine::m_sopPostfix
std::string m_sopPostfix
prefix for screen output
Definition
INavigationEngine.h:65
Trk::StaticNavigationEngine::m_sopPostfix_prop
StringProperty m_sopPostfix_prop
Definition
StaticNavigationEngine.h:80
Trk::StaticNavigationEngine::m_trackingGeometryReadKey
SG::ReadCondHandleKey< TrackingGeometry > m_trackingGeometryReadKey
retrieve TrackingGeometry
Definition
StaticNavigationEngine.h:109
Trk::StaticNavigationEngine::resolveBoundaryT
ExtrapolationCode resolveBoundaryT(ExtrapolationCell< T > &eCell, PropDirection dir=alongMomentum) const
resolve the boundary situation
Trk::StaticNavigationEngine::resolvePosition
virtual ExtrapolationCode resolvePosition(Trk::ExCellCharged &eCell, PropDirection dir=alongMomentum, bool noLoop=false) const
resolve the boundary situation - for charged particles
Definition
StaticNavigationEngine.cxx:55
Trk::StaticNavigationEngine::~StaticNavigationEngine
~StaticNavigationEngine()
Destructor.
Trk::StaticNavigationEngine::finalize
StatusCode finalize()
AlgTool finalize method.
Definition
StaticNavigationEngine.cxx:40
Trk::StaticNavigationEngine::resolveBoundary
virtual ExtrapolationCode resolveBoundary(Trk::ExCellCharged &eCell, PropDirection dir=alongMomentum) const
resolve the boundary situation - for charged particles
Definition
StaticNavigationEngine.cxx:47
Trk::StaticNavigationEngine::initialize
StatusCode initialize()
AlgTool initialize method.
Definition
StaticNavigationEngine.cxx:26
Trk::StaticNavigationEngine::StaticNavigationEngine
StaticNavigationEngine(const std::string &, const std::string &, const IInterface *)
Constructor.
Definition
StaticNavigationEngine.cxx:15
Trk::StaticNavigationEngine::throwFailedToGetTrackingGeomtry
void throwFailedToGetTrackingGeomtry() const
Definition
StaticNavigationEngine.cxx:62
Trk::StaticNavigationEngine::m_materialEffectsEngine
ToolHandle< IMaterialEffectsEngine > m_materialEffectsEngine
the material effects updated
Definition
StaticNavigationEngine.h:115
Trk::StaticNavigationEngine::resolvePositionT
ExtrapolationCode resolvePositionT(ExtrapolationCell< T > &eCell, PropDirection dir=alongMomentum, bool noLoop=false) const
resolve position
Trk::StaticNavigationEngine::m_propagationEngine
ToolHandle< IPropagationEngine > m_propagationEngine
the used propagation engine
Definition
StaticNavigationEngine.h:114
Trk::StaticNavigationEngine::m_sopPrefix_prop
StringProperty m_sopPrefix_prop
Definition
StaticNavigationEngine.h:79
Trk::PropDirection
PropDirection
PropDirection, enum for direction of the propagation.
Definition
PropDirection.h:19
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