ATLAS Offline Software
NIMatEffUpdator.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // NIMatEffUpdator.cxx, (c) ATLAS Detector software
8 
9 // class header
11 
12 // Trk include
16 #include "TrkGeometry/Layer.h"
18 
19 // constructor
20 Trk::NIMatEffUpdator::NIMatEffUpdator(const std::string &t, const std::string &n, const IInterface *p) :
21  AthAlgTool(t, n, p),
22  m_matUpdator("Trk::MaterialEffectsUpdator/MaterialEffectsUpdator") {
23  declareInterface<ITimedMatEffUpdator>(this);
24  // the tool parameters -----------------------------------------------------
25  declareProperty("MaterialEffectsUpdator", m_matUpdator);
26 }
27 
28 // destructor
30 
31 // Athena standard methods
32 // initialize
35  ATH_MSG_INFO("initialize()");
36 
37  // retrieve the material updator tool
38  if (m_matUpdator.retrieve().isFailure()) {
39  ATH_MSG_FATAL("Could not retrieve " << m_matUpdator);
40  return StatusCode::FAILURE;
41  }
42  ATH_MSG_DEBUG("Successfully retrieved " << m_matUpdator);
43 
44 
45  return StatusCode::SUCCESS;
46 }
47 
48 // finalize
51  ATH_MSG_INFO("finalize() successful");
52  return StatusCode::SUCCESS;
53 }
54 
55 std::unique_ptr<Trk::TrackParameters>
57  const Trk::Layer &lay,
58  Trk::TimeLimit & /*timeLim*/,
59  Trk::PathLimit & /*pathLim*/,
60  Trk::GeometrySignature /*geoID*/,
63  return m_matUpdator->update(parm, lay, dir, particle);
64 }
65 
66 // update method
67 std::unique_ptr<Trk::TrackParameters>
69  const Trk::TrackParameters &parm,
70  const Trk::MaterialProperties &matprop,
71  double pathCorrection,
75  return m_matUpdator->update(parm, matprop, pathCorrection, dir, particle);
76 }
77 
78 std::unique_ptr<Trk::TrackParameters>
80  const Trk::TrackParameters *parm,
81  const Trk::MaterialEffectsOnTrack &meff,
84  return m_matUpdator->update(parm, meff, particle);
85 }
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition: ParticleHypothesis.h:76
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
Trk::NIMatEffUpdator::m_matUpdator
ToolHandle< Trk::IMaterialEffectsUpdator > m_matUpdator
rely on MaterialEffectsIUpdator
Definition: NIMatEffUpdator.h:90
TrackParameters.h
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
Trk::NIMatEffUpdator::finalize
StatusCode finalize()
AlgTool finalize method.
Definition: NIMatEffUpdator.cxx:50
MaterialProperties.h
AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
Trk::NIMatEffUpdator::initialize
StatusCode initialize()
AlgTool initailize method.
Definition: NIMatEffUpdator.cxx:34
Layer.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
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
ParamDefs.h
Trk::ParticleHypothesis
ParticleHypothesis
Definition: ParticleHypothesis.h:25
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
beamspotman.n
n
Definition: beamspotman.py:731
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
Trk::ParametersBase
Definition: ParametersBase.h:55
Trk::TimeLimit
Definition: HelperStructs.h:58
NIMatEffUpdator.h
beamspotman.dir
string dir
Definition: beamspotman.py:623
Trk::NIMatEffUpdator::NIMatEffUpdator
NIMatEffUpdator(const std::string &, const std::string &, const IInterface *)
AlgTool constructor for NIMatEffUpdator.
Definition: NIMatEffUpdator.cxx:20
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:56
Trk::NIMatEffUpdator::~NIMatEffUpdator
virtual ~NIMatEffUpdator()
Destructor.
IMaterialEffectsUpdator.h
Trk::PathLimit
Definition: HelperStructs.h:34
Trk::MaterialProperties
Definition: MaterialProperties.h:40
AthAlgTool
Definition: AthAlgTool.h:26
Trk::Layer
Definition: Layer.h:73