ATLAS Offline Software
Loading...
Searching...
No Matches
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
26class TTree;
27
28namespace Trk {
29
40
42 : public AthAlgTool
43 , virtual public ITimedMatEffUpdator
44{
45public:
47 NIMatEffUpdator(const std::string&, const std::string&, const IInterface*);
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,
67 Trk::ParticleHypothesis particle = Trk::pion) const;
68
69 std::unique_ptr<Trk::TrackParameters> update(double time,
70 const Trk::TrackParameters* parm,
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
89 const {};
90
91private:
93 ToolHandle<Trk::IMaterialEffectsUpdator> m_matUpdator
94 {this, "MaterialEffectsUpdator", "Trk::MaterialEffectsUpdator/MaterialEffectsUpdator"};
95};
96}
97
98#endif // TRK_TRKEXTOOLS_NIMATEFFUPDATOR_H
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Interface class for the updater AlgTool, it inherits from IAlgTool Detailed information about private...
Base Class for a Detector Layer in the Tracking realm.
Definition Layer.h:72
represents the full description of deflection and e-loss of a track in material.
Material with information about thickness of material.
StatusCode initialize()
AlgTool initailize method.
NIMatEffUpdator(const std::string &, const std::string &, const IInterface *)
AlgTool constructor for NIMatEffUpdator.
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,...
void recordBremPhoton(double, double, double, const Amg::Vector3D &, Amg::Vector3D &, Trk::ParticleHypothesis) const
dummy helper function for a brem photon record
virtual ~NIMatEffUpdator()
Destructor.
StatusCode finalize()
AlgTool finalize method.
ToolHandle< Trk::IMaterialEffectsUpdator > m_matUpdator
rely on MaterialEffectsIUpdator
Eigen::Matrix< double, 3, 1 > Vector3D
Ensure that the ATLAS eigen extensions are properly loaded.
PropDirection
PropDirection, enum for direction of the propagation.
@ alongMomentum
ParticleHypothesis
Enumeration for Particle hypothesis respecting the interaction with material.
MaterialUpdateMode
This is a steering enum to force the material update it can be: (1) addNoise (-1) removeNoise Second ...
ParametersBase< TrackParametersDim, Charged > TrackParameters