ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkExtrapolation
TrkExTools
src
NIMatEffUpdator.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
// NIMatEffUpdator.cxx, (c) ATLAS Detector software
8
9
// class header
10
#include "
TrkExTools/NIMatEffUpdator.h
"
11
12
// Trk include
13
#include "
TrkParameters/TrackParameters.h
"
14
#include "
TrkEventPrimitives/ParamDefs.h
"
15
#include "
TrkGeometry/Layer.h
"
16
#include "
TrkGeometry/MaterialProperties.h
"
17
18
// constructor
19
Trk::NIMatEffUpdator::NIMatEffUpdator
(
const
std::string &t,
const
std::string &n,
const
IInterface *p) :
20
AthAlgTool
(t, n, p) {
21
declareInterface<ITimedMatEffUpdator>(
this
);
22
}
23
24
// destructor
25
Trk::NIMatEffUpdator::~NIMatEffUpdator
() =
default
;
26
27
// Athena standard methods
28
// initialize
29
StatusCode
30
Trk::NIMatEffUpdator::initialize
() {
31
ATH_MSG_INFO
(
"initialize()"
);
32
33
// retrieve the material updator tool
34
if
(
m_matUpdator
.retrieve().isFailure()) {
35
ATH_MSG_FATAL
(
"Could not retrieve "
<<
m_matUpdator
);
36
return
StatusCode::FAILURE;
37
}
38
ATH_MSG_DEBUG
(
"Successfully retrieved "
<<
m_matUpdator
);
39
40
41
return
StatusCode::SUCCESS;
42
}
43
44
// finalize
45
StatusCode
46
Trk::NIMatEffUpdator::finalize
() {
47
ATH_MSG_INFO
(
"finalize() successful"
);
48
return
StatusCode::SUCCESS;
49
}
50
51
std::unique_ptr<Trk::TrackParameters>
52
Trk::NIMatEffUpdator::update
(
const
Trk::TrackParameters
*parm,
53
const
Trk::Layer
&lay,
54
Trk::TimeLimit
&
/*timeLim*/
,
55
Trk::PathLimit
&
/*pathLim*/
,
56
Trk::GeometrySignature
/*geoID*/
,
57
Trk::PropDirection
dir,
58
Trk::ParticleHypothesis
particle)
const
{
59
return
m_matUpdator
->update(parm, lay, dir, particle);
60
}
61
62
// update method
63
std::unique_ptr<Trk::TrackParameters>
64
Trk::NIMatEffUpdator::update
(
double
/*time*/
,
65
const
Trk::TrackParameters
&parm,
66
const
Trk::MaterialProperties
&matprop,
67
double
pathCorrection,
68
Trk::PropDirection
dir,
69
Trk::ParticleHypothesis
particle,
70
Trk::MaterialUpdateMode
)
const
{
71
return
m_matUpdator
->update(parm, matprop, pathCorrection, dir, particle);
72
}
73
74
std::unique_ptr<Trk::TrackParameters>
75
Trk::NIMatEffUpdator::update
(
double
/*time*/
,
76
const
Trk::TrackParameters
*parm,
77
const
Trk::MaterialEffectsOnTrack
&meff,
78
Trk::ParticleHypothesis
particle,
79
Trk::MaterialUpdateMode
)
const
{
80
return
m_matUpdator
->update(parm, meff, particle);
81
}
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x,...)
Definition
AthMsgStreamMacros.h:43
ATH_MSG_INFO
#define ATH_MSG_INFO(x,...)
Definition
AthMsgStreamMacros.h:45
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x,...)
Definition
AthMsgStreamMacros.h:48
Layer.h
MaterialProperties.h
NIMatEffUpdator.h
ParamDefs.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::Layer
Base Class for a Detector Layer in the Tracking realm.
Definition
Layer.h:72
Trk::MaterialEffectsOnTrack
represents the full description of deflection and e-loss of a track in material.
Definition
MaterialEffectsOnTrack.h:40
Trk::MaterialProperties
Material with information about thickness of material.
Definition
MaterialProperties.h:40
Trk::NIMatEffUpdator::initialize
StatusCode initialize()
AlgTool initailize method.
Definition
NIMatEffUpdator.cxx:30
Trk::NIMatEffUpdator::NIMatEffUpdator
NIMatEffUpdator(const std::string &, const std::string &, const IInterface *)
AlgTool constructor for NIMatEffUpdator.
Definition
NIMatEffUpdator.cxx:19
Trk::NIMatEffUpdator::update
std::unique_ptr< Trk::TrackParameters > update(const Trk::TrackParameters *parm, const Trk::Layer &sf, Trk::TimeLimit &time, Trk::PathLimit &path, Trk::GeometrySignature geoID, Trk::PropDirection dir=Trk::alongMomentum, Trk::ParticleHypothesis particle=Trk::pion) const
Updator interface (full update for a layer): given track parameters are deleted internally,...
Definition
NIMatEffUpdator.cxx:52
Trk::NIMatEffUpdator::~NIMatEffUpdator
virtual ~NIMatEffUpdator()
Destructor.
Trk::NIMatEffUpdator::finalize
StatusCode finalize()
AlgTool finalize method.
Definition
NIMatEffUpdator.cxx:46
Trk::NIMatEffUpdator::m_matUpdator
ToolHandle< Trk::IMaterialEffectsUpdator > m_matUpdator
rely on MaterialEffectsIUpdator
Definition
NIMatEffUpdator.h:94
Trk::PropDirection
PropDirection
PropDirection, enum for direction of the propagation.
Definition
PropDirection.h:19
Trk::ParticleHypothesis
ParticleHypothesis
Enumeration for Particle hypothesis respecting the interaction with material.
Definition
ParticleHypothesis.h:28
Trk::MaterialUpdateMode
MaterialUpdateMode
This is a steering enum to force the material update it can be: (1) addNoise (-1) removeNoise Second ...
Definition
MaterialUpdateMode.h:18
Trk::GeometrySignature
GeometrySignature
Definition
GeometrySignature.h:24
Trk::TrackParameters
ParametersBase< TrackParametersDim, Charged > TrackParameters
Definition
Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:27
Trk::PathLimit
Definition
HelperStructs.h:34
Trk::TimeLimit
Definition
HelperStructs.h:58
Generated on
for ATLAS Offline Software by
1.17.0