ATLAS Offline Software
IPatternParametersPropagator.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 // IPatternParametersPropagator.h
7 // Main public methods for track state propagation throughout atlas using
8 // internal pattern recognition objects for track parameters
9 // (the Trk::PatternTrackParameters)
11 // (c) ATLAS Detector software
13 
14 #ifndef TRK_IPATTERNPARAMETERSPROPAGATOR_H
15 #define TRK_IPATTERNPARAMETERSPROPAGATOR_H
16 
18 #include "GaudiKernel/IAlgTool.h"
19 #include "GaudiKernel/EventContext.h"
22 
24 static const InterfaceID IID_IPatternParametersPropagator("IPatternParametersPropagator", 1, 0);
25 
26 namespace Trk {
27 
28  class PatternTrackParameters;
29  class Surface;
30  class CylinderBounds;
31  class MagneticFieldProperties;
32 
41  class IPatternParametersPropagator : virtual public IAlgTool {
42  public:
44  // Public method for Trk::PatternTrackParameters (not in IPropagator)
46 
48  static const InterfaceID& interfaceID( ) ;
49 
53  virtual bool propagate
54  (const ::EventContext& ctx,
56  const Surface &,
60  ParticleHypothesis particle=pion) const = 0;
61 
63  virtual bool propagate
64  (const ::EventContext& ctx,
66  const Surface &,
70  double &,
71  ParticleHypothesis particle=pion) const = 0;
72 
74  virtual bool propagateParameters
75  (const ::EventContext& ctx,
77  const Surface &,
81  ParticleHypothesis particle=pion) const = 0;
82 
84  virtual bool propagateParameters
85  (const ::EventContext& ctx,
87  const Surface &,
91  double &,
92  ParticleHypothesis particle=pion) const = 0;
93 
94  virtual void globalPositions
95  (const ::EventContext& ctx,
96  const PatternTrackParameters &,
97  std::vector<const Surface*> &,
98  std::vector< std::pair<Amg::Vector3D,double> > &,
100  ParticleHypothesis particle=pion) const = 0;
101 
102 
103 
104  };
105 } // end namespace
106 
108 {
109  return IID_IPatternParametersPropagator;
110 }
111 
112 
113 #endif // TRK_IPATTERNPARAMETERSPROPAGATOR_H
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition: ParticleHypothesis.h:76
Trk::IPatternParametersPropagator::propagate
virtual bool propagate(const ::EventContext &ctx, PatternTrackParameters &, const Surface &, PatternTrackParameters &, PropDirection, const MagneticFieldProperties &, ParticleHypothesis particle=pion) const =0
Interfaces WITH EventContext (new)
Trk::MagneticFieldProperties
Definition: MagneticFieldProperties.h:31
Surface
Definition: Trigger/TrigAccel/TrigCudaFitter/src/Surface.h:7
PropDirection.h
Trk::IPatternParametersPropagator
interface for track parameter propagation through the magnetic field, using the Trk::PatternTrackPara...
Definition: IPatternParametersPropagator.h:41
Trk::IPatternParametersPropagator::interfaceID
static const InterfaceID & interfaceID()
framework method providing the abstract interface
Definition: IPatternParametersPropagator.h:107
Trk::IPatternParametersPropagator::globalPositions
virtual void globalPositions(const ::EventContext &ctx, const PatternTrackParameters &, std::vector< const Surface * > &, std::vector< std::pair< Amg::Vector3D, double > > &, const MagneticFieldProperties &, ParticleHypothesis particle=pion) const =0
Trk::ParticleHypothesis
ParticleHypothesis
Definition: ParticleHypothesis.h:25
GeoPrimitives.h
Trk::PropDirection
PropDirection
Definition: PropDirection.h:19
Trk::pion
@ pion
Definition: ParticleHypothesis.h:29
ParticleHypothesis.h
Trk::IPatternParametersPropagator::propagateParameters
virtual bool propagateParameters(const ::EventContext &ctx, PatternTrackParameters &, const Surface &, PatternTrackParameters &, PropDirection, const MagneticFieldProperties &, double &, ParticleHypothesis particle=pion) const =0
Main propagation method for parameters only with step to surface calculation.
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::IPatternParametersPropagator::propagateParameters
virtual bool propagateParameters(const ::EventContext &ctx, PatternTrackParameters &, const Surface &, PatternTrackParameters &, PropDirection, const MagneticFieldProperties &, ParticleHypothesis particle=pion) const =0
Main propagation method for parameters only.
Trk::PatternTrackParameters
Definition: PatternTrackParameters.h:38
Trk::Surface
Definition: Tracking/TrkDetDescr/TrkSurfaces/TrkSurfaces/Surface.h:75
Trk::IPatternParametersPropagator::propagate
virtual bool propagate(const ::EventContext &ctx, PatternTrackParameters &, const Surface &, PatternTrackParameters &, PropDirection, const MagneticFieldProperties &, double &, ParticleHypothesis particle=pion) const =0
Main propagation method with step to surface calculation.