ATLAS Offline Software
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
14 #include "GaudiKernel/ServiceHandle.h"
15 #include "GaudiKernel/ToolHandle.h"
16 
17 // Trk
25 
26 class TTree;
27 
28 namespace Trk {
29 
42  : public AthAlgTool
43  , virtual public ITimedMatEffUpdator
44 {
45 public:
47  NIMatEffUpdator(const std::string&, const std::string&, const IInterface*);
49  virtual ~NIMatEffUpdator();
50 
55 
61  std::unique_ptr<Trk::TrackParameters> update(const Trk::TrackParameters* parm,
62  const Trk::Layer& sf,
63  Trk::TimeLimit& time,
68 
69  std::unique_ptr<Trk::TrackParameters> update(double time,
70  const Trk::TrackParameters* parm,
71  const Trk::MaterialEffectsOnTrack& meff,
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,
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
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition: ParticleHypothesis.h:79
Trk::NIMatEffUpdator::m_matUpdator
ToolHandle< Trk::IMaterialEffectsUpdator > m_matUpdator
rely on MaterialEffectsIUpdator
Definition: NIMatEffUpdator.h:94
athena.path
path
python interpreter configuration --------------------------------------—
Definition: athena.py:128
TrackParameters.h
GeometrySignature.h
Trk::NIMatEffUpdator::finalize
StatusCode finalize()
AlgTool finalize method.
Definition: NIMatEffUpdator.cxx:46
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::initialize
StatusCode initialize()
AlgTool initailize method.
Definition: NIMatEffUpdator.cxx:30
PropDirection.h
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::alongMomentum
@ alongMomentum
Definition: PropDirection.h:20
Trk::NIMatEffUpdator
Definition: NIMatEffUpdator.h:44
Trk::ParticleHypothesis
ParticleHypothesis
Definition: ParticleHypothesis.h:28
Trk::MaterialEffectsOnTrack
represents the full description of deflection and e-loss of a track in material.
Definition: MaterialEffectsOnTrack.h:40
Trk::PropDirection
PropDirection
Definition: PropDirection.h:19
Trk::GeometrySignature
GeometrySignature
Definition: GeometrySignature.h:24
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Trk::pion
@ pion
Definition: ParticleHypothesis.h:32
AthAlgTool.h
Trk::ParametersBase
Definition: ParametersBase.h:55
Trk::TimeLimit
Definition: HelperStructs.h:58
ParticleHypothesis.h
beamspotman.dir
string dir
Definition: beamspotman.py:621
Trk::NIMatEffUpdator::NIMatEffUpdator
NIMatEffUpdator(const std::string &, const std::string &, const IInterface *)
AlgTool constructor for NIMatEffUpdator.
Definition: NIMatEffUpdator.cxx:19
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
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.
IMaterialEffectsUpdator.h
Trk::PathLimit
Definition: HelperStructs.h:34
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
MaterialUpdateMode.h
Trk::ITimedMatEffUpdator
Definition: ITimedMatEffUpdator.h:43
Trk::MaterialProperties
Definition: MaterialProperties.h:40
ITimedMatEffUpdator.h
mapkey::sf
@ sf
Definition: TElectronEfficiencyCorrectionTool.cxx:38
Trk::addNoise
@ addNoise
Definition: MaterialUpdateMode.h:19
AthAlgTool
Definition: AthAlgTool.h:26
Trk::Layer
Definition: Layer.h:72