ATLAS Offline Software
PropagationEngine.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // PropagationEngine.h, (c) ATLAS Detector software
8 
9 #ifndef TRKEXENGINE_PROPAGATIONENGINE_H
10 #define TRKEXENGINE_PROPAGATIONENGINE_H
11 
12 // Gaudi
14 #include "GaudiKernel/ToolHandle.h"
15 // Trk
22 
23 namespace Trk {
24 
25  class Surface;
26  class IPropagator;
27 
36  class PropagationEngine : public AthAlgTool, virtual public IPropagationEngine {
37  public:
38 
40  PropagationEngine(const std::string&,const std::string&,const IInterface*);
41 
44 
47 
50 
53 
56  const Surface& sf,
58  BoundaryCheck bcheck = true,
59  bool returnCurvilinear = true) const;
60 
63  const Surface& sf,
65  BoundaryCheck bcheck = true,
66  bool returnCurvilinear = true) const;
67 
68  protected:
69  ToolHandle<IPropagator> m_propagator{this, "Propagator", "Trk::RungeKuttaPropagator/AtlasRungeKuttaPropagator"};
71 
72 
73  };
74 
75 
76 } // end of namespace
77 
78 #endif // TRKEXINTERFACES_INAVIGATIONENGINE_H
79 
TrackParameters.h
Trk::PropagationEngine::propagate
virtual ExtrapolationCode propagate(ExCellCharged &ecCell, const Surface &sf, PropDirection dir=alongMomentum, BoundaryCheck bcheck=true, bool returnCurvilinear=true) const
resolve the boundary situation - for charged particles
Definition: PropagationEngine.cxx:58
Trk::PropagationEngine::m_pathLimitTolerance
double m_pathLimitTolerance
Definition: PropagationEngine.h:70
Surface
Definition: Trigger/TrigAccel/TrigCudaFitter/src/Surface.h:8
Trk::PropagationEngine::finalize
StatusCode finalize()
AlgTool finalize method.
Definition: PropagationEngine.cxx:50
PropDirection.h
Trk::alongMomentum
@ alongMomentum
Definition: PropDirection.h:20
NeutralParameters.h
Trk::PropagationEngine::m_propagator
ToolHandle< IPropagator > m_propagator
Definition: PropagationEngine.h:69
Trk::PropagationEngine::initialize
StatusCode initialize()
AlgTool initialize method.
Definition: PropagationEngine.cxx:37
Trk::PropDirection
PropDirection
Definition: PropDirection.h:19
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Trk::PropagationEngine
Definition: PropagationEngine.h:36
AthAlgTool.h
Trk::ExtrapolationCode
Definition: ExtrapolationCell.h:105
beamspotman.dir
string dir
Definition: beamspotman.py:623
ExtrapolationMacros.h
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::PropagationEngine::~PropagationEngine
~PropagationEngine()
Destructor.
Trk::ExtrapolationCell
Definition: ExtrapolationCell.h:231
mapkey::sf
@ sf
Definition: TElectronEfficiencyCorrectionTool.cxx:38
Trk::PropagationEngine::PropagationEngine
PropagationEngine(const std::string &, const std::string &, const IInterface *)
Constructor.
Definition: PropagationEngine.cxx:19
Trk::BoundaryCheck
Definition: BoundaryCheck.h:51
ExtrapolationCell.h
Trk::IPropagationEngine
Definition: IPropagationEngine.h:40
AthAlgTool
Definition: AthAlgTool.h:26
IPropagationEngine.h
Trk::Surface
Definition: Tracking/TrkDetDescr/TrkSurfaces/TrkSurfaces/Surface.h:75
Trk::IPropagationEngine::propagate
virtual ExtrapolationCode propagate(ExCellCharged &ecCell, const Surface &sf, PropDirection dir=alongMomentum, BoundaryCheck bcheck=true, bool returnCurvilinear=true) const =0
resolve the boundary situation - for charged particles Possible return codes :