ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkExtrapolation
TrkExTools
TrkExTools
NIMatEffUpdator.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
// NIMatEffUpdator.h, (c) ATLAS Detector software
8
9
#ifndef TRK_TRKEXTOOLS_NIMATEFFUPDATOR_H
10
#define TRK_TRKEXTOOLS_NIMATEFFUPDATOR_H
11
12
// GaudiKernel & Athena
13
#include "
AthenaBaseComps/AthAlgTool.h
"
14
#include "GaudiKernel/ServiceHandle.h"
15
#include "GaudiKernel/ToolHandle.h"
16
17
// Trk
18
#include "
TrkDetDescrUtils/GeometrySignature.h
"
19
#include "
TrkEventPrimitives/ParticleHypothesis.h
"
20
#include "
TrkEventPrimitives/PropDirection.h
"
21
#include "
TrkExInterfaces/ITimedMatEffUpdator.h
"
22
#include "
TrkExInterfaces/IMaterialEffectsUpdator.h
"
23
#include "
TrkExUtils/MaterialUpdateMode.h
"
24
#include "
TrkParameters/TrackParameters.h
"
25
26
class
TTree;
27
28
namespace
Trk
{
29
40
41
class
NIMatEffUpdator
42
:
public
AthAlgTool
43
,
virtual
public
ITimedMatEffUpdator
44
{
45
public
:
47
NIMatEffUpdator
(
const
std::string&,
const
std::string&,
const
IInterface*);
49
virtual
~NIMatEffUpdator
();
50
52
StatusCode
initialize
();
54
StatusCode
finalize
();
55
61
std::unique_ptr<Trk::TrackParameters>
update
(
const
Trk::TrackParameters
* parm,
62
const
Trk::Layer
& sf,
63
Trk::TimeLimit
& time,
64
Trk::PathLimit
& path,
65
Trk::GeometrySignature
geoID,
66
Trk::PropDirection
dir =
Trk::alongMomentum
,
67
Trk::ParticleHypothesis
particle =
Trk::pion
)
const
;
68
69
std::unique_ptr<Trk::TrackParameters>
update
(
double
time,
70
const
Trk::TrackParameters
* parm,
71
const
Trk::MaterialEffectsOnTrack
& meff,
72
Trk::ParticleHypothesis
particle =
Trk::pion
,
73
Trk::MaterialUpdateMode
matupmode =
Trk::addNoise
)
const
;
74
79
std::unique_ptr<Trk::TrackParameters>
update
(
double
time,
80
const
Trk::TrackParameters
& parm,
81
const
Trk::MaterialProperties
& mprop,
82
double
pathcorrection,
83
Trk::PropDirection
dir =
Trk::alongMomentum
,
84
Trk::ParticleHypothesis
particle =
Trk::pion
,
85
Trk::MaterialUpdateMode
matupmode =
Trk::addNoise
)
const
;
86
88
void
recordBremPhoton
(
double
,
double
,
double
,
const
Amg::Vector3D
&,
Amg::Vector3D
&,
Trk::ParticleHypothesis
)
89
const
{};
90
91
private
:
93
ToolHandle<Trk::IMaterialEffectsUpdator>
m_matUpdator
94
{
this
,
"MaterialEffectsUpdator"
,
"Trk::MaterialEffectsUpdator/MaterialEffectsUpdator"
};
95
};
96
}
97
98
#endif
// TRK_TRKEXTOOLS_NIMATEFFUPDATOR_H
AthAlgTool.h
GeometrySignature.h
IMaterialEffectsUpdator.h
ITimedMatEffUpdator.h
MaterialUpdateMode.h
ParticleHypothesis.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::ITimedMatEffUpdator
Interface class for the updater AlgTool, it inherits from IAlgTool Detailed information about private...
Definition
ITimedMatEffUpdator.h:43
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::recordBremPhoton
void recordBremPhoton(double, double, double, const Amg::Vector3D &, Amg::Vector3D &, Trk::ParticleHypothesis) const
dummy helper function for a brem photon record
Definition
NIMatEffUpdator.h:88
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
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition
GeoPrimitives.h:48
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::ParticleHypothesis
ParticleHypothesis
Enumeration for Particle hypothesis respecting the interaction with material.
Definition
ParticleHypothesis.h:28
Trk::pion
@ pion
Definition
ParticleHypothesis.h:32
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::addNoise
@ addNoise
Definition
MaterialUpdateMode.h:19
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